Bro, personally, considering u on 3G all the time, i think its already quite good that ur battery still have 30% at night.
You said "battery life still not satisfy".. well.. of coz it wouldnt satisfy anyone. if it was me, id want it to last the whole week without charging. that's my definition of satisfaction.
u have to know the power of the device. it's a smartphone bro. and if its an iPhone 4.. it's a VERY smart-a$$-phone!
The first few days of using it, i swithc on 3G 24/7 (but when im at home i switch on wifi), unplug my iPhone 4 from charger at 6.30 AM, browse on safari about an hour plus, take about 10 to 15 shots of photo, show off the brilliantness and clearness and the WoWness of my photos on retina display to my friends, about an hour of call, roughly about 30-40 smses to my gf, push notification on for pingchat, yahoo messenger, and google mobile app.. and by 8pm battery left 20%...
BUT! yesterday, i found a new trick.
my pattern of usage is about the same, BUT, i switch off 3G (meaning i use EDGE).. and by 8pm battery still had 50% juice!
So, ya, i'd recommend u to do that. Because i feel that for push notifications (google app, pingchat, yahoo), i don't need to be on 3G. The information wil still be pushed to u, but, at slightly slower speed la. If ur outside and u wanna browse, then u can quickly go into the menu and switch on 3G. And if ur at home and u have wifi, switch on wifi

hope u may find my suggestion useful
wow according to your usage, the ip4 is really showing some damn good improvements compared to the 3gs in terms of the batt life