You know your altitude, but not your distance to fly. So I suggest an altitude based rule.
Then, the problem is an energy problem. Your energy depends on your altitude and your speed. For a given weight and speed, you will have a gradient. Flying fast and light, you may be descending at 400 or more fpnm. Flying slow and heavy, at less than 300 fpm. typically the gradient is around 330 fpnm (3nm per each 1,000 ft).
I calculate flight levels to go times 3 plus minus gradient correction (due to weigth/speed) plus minus wind correction (10% per each 20 kt component) and plus deceleration (between 6 and 10 miles depending on weight and speed).
It also varies between models (older have more gradient) and engines (IAE have less gradient).
For instance, in one of the older CFM engined 320s of my airline, flying at the typical 280 kt descent with full house (63 tons) I will have a nearly 300 fpnm descent gradient. With an average 25 kt tailwind, My number is FL times 3 plus a 10% plus another 10% plus 8 miles. I do it very quickly because of so much practice and I am proud to say that it works really really well.
Then you need to "bet" on how many miles you are really going to fly.
I also don't pull to open des at high altitude and plunge. i select V/S and maintain an approximately 3º slope (in still air) till i can pull to open without sinking. It is kind of a manual repressurization segment.
Most of the times, if the miles to be flown are the same as i have planned, I do better than the donut. It comes up and below me all the way and I just add thrust once in the glide.