This isn't something than can be 'solved'. All the time, Google will make improvements to the OS (like JobScheduler in Lollipop) and devs will get better at managing their resources. Slowly we'll all get better battery performance.
I make PressureNet, which runs in the background on Android in 10-minute intervals to get GPS, barometer measurement, and network lock. Maintaining a good battery life isn't easy, but it is possible. https://play.google.com/store/apps/details?id=ca.cumulonimbu...