Just as a software defined datacenter still needs lots of hardware. This is the same definition of software defined. There is plenty hardware available, But instead as using it as"just hardware", or "just a battery" you optimize it as it is used.
e.g. A Li-ion battery has more wear and tear if it is stored at 100% charge. So you only top it off if you expect the user to unplug it soon. (e.g when charging the phone in the night, you to it off an hour before wakeup).
If there are multiple batteries, with different parameters you can optimize for those parameters. And this is a "free"optimization. You get a few percentage extra capacity in the long run, just by exposing the batteries to the OS.
But you should not expect big leaps from this. Batteries are used in portable devices, which are weight and space contrained. with other words: they will have minimal specification.