I know some of you may never consider rooting your phone, but if battery life is getting you down, there are lots of recent improvements via rooting that SIGNIFICANTLY improve your battery life, especially during times when the screen is off.
For example, last night I went to bed with exactly 50% charge left. I woke up with 47% charge. That's a 3% drop. And I have mobile, wifi, and GPS always on. This is achieved by throttling down the CPU when the screen is off. You still get calendar notifications, alarms, phone calls, etc.
This graph shows roughly midnight to around 8:15am a few nights ago. You can see the two blue spikes which correspond to my last use before bed, and first use upon waking up. Between that, the battery drained from 100% to about 96%. Radio and wifi were on, GPS was not. However, in the next few days, I turned on GPS overnight and saw no difference.
If you don't plan to root your phone, the main ways to save on battery is to minimize the use of any application/program that causes your phone to transmit/receive data. That drains battery way more than any other use. So, if it uses some form of radio (GPS, wifi, 4G, data syncing, etc), make sure you only allow what you absolutely need.
The big ones are:
--turn off GPS unless you need to navigate.
--turn off wifi hotspot seeking. If on, this causes your radio to constantly be in use. big drain.
--adjust all of your sync frequencies. I disable Stocks and News completely. I never let Facebook sync (I do it manually when I want to check FB). I only sync gmail messages, not calendar and contacts (those just don't change very much)
--Turn off 4G if you don't get 4G signal. And even if you do, only use it when you are downloading a big file or streaming video.
If you do all that, and assuming you get good reception, you should only lose 15-30% overnight.