There's another solution. Baked into some smart phones now days, but I had to root mine. You can run a CPU governor to underclock your phone CPU when it's not doing intensive tasks. You can set it for performance or power saving. I have mine go into extreme power saving when the battery gets low.
If you are watching videos or playing games, it won't help. But with just calls and text messaging, I went from once a day charging to once every 4-6 days. This like going from a 2300mAh battery to a 10,000mAh battery.
Oh, and shutting off stuff you aren't using at the time (like GPS, Wifi, or data network) can help quite a bit, with or without a CPU governor.