I use a program called advanced task killer to keep background programs from running. Before I used that program, I was lucky to get 6, maybe 8 hours on a full charge.. Now, I can manage 12 to 16. Not much of an improvement, but it helps. I've noticed that also keeping the phone updated as far as firmware and Android versions helps, as well.
I have an HTC Evo 4G btw...