My two cents...
At first I was EXTREMELY disappointed with the D2G's battery life, and I probably still would be if I hadn't made a number of tweaks to make it tolerable.
Probably the single most important thing in my opinion was getting SetCPU and underclocking everything... which makes me a sad panda, yes, but it did the trick...
- 300 MHz max when the screen is off
- 800 MHz max when unplugged
- 300 MHz max when the battery is very low
- 1200 MHz max when plugged in
The first one made the biggest difference for me, I think.
The other important thing was to remove as much bloated crap as possible. I picked up Root Explorer and moved a lot of stuff to the SDCard. I move it back whenever there's an OTA, then move it back once again after it completes. It's annoying but hey, so is Motorola's decision not to put stock Android on this phone.
Trying to make the best of a bad situation!
So with all that done, I've actually squeezed a full two days out of my D2G's battery. This is with the screen on auto-brightness, syncing turned ON, GPS ON (though not being used), Bluetooth OFF, and WiFi ON. Granted, the phone saw very little use over those two days (and thus spent most of its time underclocked to 300 MHz because the screen was off), but it's better than the 8 hours I was getting previously!
I'm coming to accept that, hey, this is a small computer. If I use it heavily, the battery will be eaten. Sucks, but that's how it's going to be.