After IOS5, everything looked fine for me... But yesterday, I was down to less than 20% before noon. Phone was hot too. Downloaded the System Status app, and it showed the following: CPU usage was hovering between 25% and 100%, and more importantly, the system log showed a message coming up every fraction of a second:
wifid [30] WiFi:[ ]: Client dataaccessd set type to background application - ERROR
The log was filled with these.
Another clue is to look at the phone usage vs standby time (Settings - General - Usage). They used to be (obviously) different, but now they were showing almost the same, indicating that the phone never really goes into standby mode.
Anyhow, tried disabling everything, WiFi, etc... no change. Finally, on a whim, I turned off PhotoStream and Documents sync in iCloud, and suddenly the phone cooled down, and the WiFi error messages stopped. CPU usage is now down around 6%.
So far, this seems to have solved the issue for me, but apparently the solution is different for everyone... We will see in the next couple of days how it goes...