Unless you actually put some thought into your hardware designs because you're making phones that have a life expectancy of greater than a mere 12 months that will be used around the world for years to come... in which case you can easily reference an electrical engineering textbook and design a circuit that can buffer enough power and supply sufficient voltage/current to meet your expected max sustained power draw with some very simple and cheap components.
But simple frequency scaling based off of _dynamically detected_ available power. There's no need to slow down a CPU based off the age of the battery so you can "guess" what the max speed you can safely run at without inducing a brownout is (and even less of a reason to do so in discrete steps instead of linearly scaling the performance, except if you're trying to do it discreetly) - all you have to do is monitor available power and scale the CPU clock rate accordingly in realtime. But if your circuit is poorly designed with no forethought as to what you'd do if the maximum rated power of the battery wasn't available, I suppose that's not so easy to retrofit.