As it happens, device battery runtimes have remained about the same and in the long view gone dramatically down even as battery capacity and technologies have improved all the time.
I hold the view that going for all-the-time-faster CPU's and new architectures is the culprit to blame.
On the other hand if you had an existing SoC that would be evolved in manufacturing technology but not tried to squeeze more power out of it would certainly come more power-efficient over generations.
And having same drivers that could be optimized properly and not some quick-hack-let's-just-make-android-compatible-drivers-now would leverage to get more out of the HW.