Aha. So, ever since the iOS 6 upgrade, my 4s phone's battery drains in half a day.
Digging around, I finally found an important clue on the web. There is a crashlog deep in the iPhone menus:
Settings
General
About
Diagnostics & Usage
Diagnostics & Usage Data
In this list of crashlogs, I see a bazillion entries for a crashing process named "DataAccessD", which, looking it up, handles the synchronization for Push notifications. It seems that the push notification feature is crashing and re-running in a constant loop. Strange, because all my data from my various accounts seemed to be synchronizing fine.
Change "Push" to "Fetch" and suddenly my phone's battery starts lasting a whole day again. Magic!