A) Define "poor" battery life. Smartphones typically get half a day to three days, depending on usage and network quality. My HD7 typically gets about 16-40 hours, depending on whether I use it a bit more or less than normal. I leave it on the charger every night and never run out of battery now unless I'm playing games on it.
B) There are lots of things you can do. Turn off push email, and instead check only every few minutes. The HD7's screen may actually get a slightly better battery life on the "Light" theme (the backlight runs anyhow; darkening a pixel takes more power). Set the phone to turn off the screen earlier. Dim the backlight. Turn down the volume (especially if you listen to music).
C) There's a setting (added in Mango) called "Battery Saver" that does some of the changes mentioned above (some quite aggressively - for example, it turns off all automatic email sync). You could use it, or at least tell the phone to use it automatically.
D) Change your usage pattern. Games, GPS, and cellular data are all huge power hogs. Play fewer games (or only play them when plugged in, or play ones without lots of graphical effects, etc.). Don't leave GPS apps running; check them then back out. Don't stream music (although I do, through Zune Pass, and still get decent battery life for a smartphone), movies, etc.
E) Switch the data mode to 2G instead of 3G, at least most of the time. 3G is power-hungry, and often harder to get a signal through so the phone hs to use even more power. Turn WiFi on (yes, on, not off; it's more efficient than the cellular radio when transferring data) unless you have no usable WiFi nearby, in which case turn it off. WiFi automatically turns off when the phone's screen locks, so no need to worry about it using power constantly at idle.