i have tried this following steps and it worked just fine for my case. start with 100% battery at 8.30 AM this morning. actively used IP4 with phone calls, lots of emails, appStore updates, tweets, whatsapp, iMessages on 3G and wifi. According to "BatteryWatch" app my IP4 battery would stand until 7.00 PM but at 3.00 PM i decided to charge my IP4 when it reached 35%.
So here's what i did last night:
1. When i looked closely on Settings > General > About > Diagnostics & usage > Diagnostics & usage Data, i found that there are a lot of "webbookmarksd..." error logs. Each error events occured almost every five minutes. I browsed through online forums and i found out that "webbookmarksd..." is the background process of the iCloud Safari Sync. Somehow it doesnt work as it should be and continuously forcing to sync so it makes my IP4 generates heat and drains battery
2. I deciced to turned off the iCloud > Safari Sync
3. I read that "webbookmarksd..." will run again every time you run safari, so i (temporarily) restrict safari from Settings > General > Restrictions. Now i use Chrome as my IP4 browser
4. I restarted the device by holding the power+home button 10 secs until the apple logo appear
5. I let my IP4 standby with 3G from 1.00AM with 70% battery and found it 32% at 6.30 AM