I haven't read all the posts on this thread, but like many users I had an iPhone 4S that had great battery life, but when I went to IOS 7, my battery life was suddenly awful. Although my phone was 15 months old, I didn't think the battery was a problem since the change in battery life was so dramatic and appeared related to IOS 7.
I took my phone to an Apple store and they ran a diagnostic on the phone. They found that the battery was fine but there were some indications that some components of the OS were crashing - that was known to cause battery issues.
They had me back up my phone to iCloud and then they did a full restore on my phone. After that, I restored my backup. They warned me that sometimes a restore would bring my problem back. If that happened I should just do a full restore and don't restore the backup. (It's like starting with a new phone.) After a few days, I realized the battery life was still bad. I decided I would do a full restore again and not recover from a back up.
Here's what I did:
- connected the phone to my PC and got all the photos and other data I wanted from the phone
- using iTunes, I did a factory restore on the phone (all of my data was wiped from the phone)
- I set up my phone from scratch - I did not recover from back up
PROBLEM SOLVED! My battery life is now comparable to what I had before the IOS 7 upgrade.
I know that wiping out the phone can be a hassle, but if you are syncing your contacts, calendar, etc... with Outlook or iCloud, you can probably use those to get the data back on the iphone. My contacts and calendar were synced on a corporate Outlook Exchange server, so everything came back.