I think I fixed my problem and I wanted to share my troubleshooting.
First, I noticed that my usage and standby times were identical, the phone would be warm to the touch even whilst asleep. I bought a mophie juicepack and it would drain that battery by noon trying to keep the phone juiced up while the usage kept climbing.
After months of poor battery life, I decided to try and fix it systematically.
Troubleshooting.
First, charge battery to full so you get the usage and standby times in the settings.
Second, close all apps in multitasking bar, lock phone for 5 minutes. Is usage time still same as standby time? Then no current apps are rogue causing the os to run while asleep. It means it's a system application or daemon.
Third, delete one of your mail/calendar/contacts accounts. If all you have is iCloud, delete that account and remove all its data from your phone (don't worry, it's backed up online anyways). Lock phone for 5 miunutes. Is usage time still same as standby time? Then that account isn't causing the OS to run while asleep.
Fourth step, repeat step 3 for each of your accounts on your phone. Whether it be outlook, exchange, what have you. Once you have found that usage time does not equal standby time, you have found the offending service.
Fifth step. Once you've found the offending services, you can either remove it permanently, try re-adding it and see if the problem persists, or go onto the server side application/website to look for corrupt data.
In my case, the offending service was iCloud. When I deleted the account, the battery drain went away and I noticed usage and standby times separate. iCloud has many applications, and I needed to add them back one by one to see if the usage and standby times were equal. After hours of troubleshooting by adding each one, waiting, then checking usage, I found out that the calendar was causing the problem. Once I turned calendar syncing back on in iCloud, the phone heated up while asleep and battery drain resumed.
I decided to try and fix this because I wanted my iCloud calendar working. I went to icloud.com and logged into the calendar app. My partner send me appointments that I typically forget to reply to. So I had a whole bunch of gray appointments in my calendar. I went through and tried to reply to each one. Turns out there were a few of them (repeating calendar events from months back) that wouldn't propagate a response (reply or reject) to the event. It stayed gray. I had to find out which of my appointments were broken like that and delete all of them.
Once I did that, the hot iphone went away and usage returned to normal after turning calendar syncing back on. I guess the broken calendar appointments kept trying to sync do the device but would fail, leaving the device constantly attempting to complete the sync into perpetuity. Deleting the broken events server-side fixed the problem.
So that's my long journey, hope it helps some other poor soul.