[Epic 4G Q&A, Help & Troubleshooting] Trickee360:
I've been through the ringer with this. I'm pretty comfortable now, routinely managing to have 33% of battery left after 12hrs w/3g always on, sync always on, intermittent music listening, 2.5-3hrs of gaming and general "screen on" time (auto brightness), 1.1 GHz OC, no undervolting, and GPS always on. Here's what I'd suggest:

Flash a ROM w/ NO CIQ (thanks k0nane!) - In addition to being a leech on your privacy it's a leech on your battery. It's old news to long-time Epic owners at this point, but ditching CIQ improves battery life and overall responsiveness of the Epic. A popular stable Froyo ROM for this is SFR 1.2.

Minimize always-running services - Long press your homescreen, select "shortcuts," select "settings," and select "running services." Tap this to see what's running ongoing services (not apps) your phone is running. All of these are drawing current to stay in RAM. Things like Juice Defender, Tasker, and others show up here and draw power in doing so. JD and Tasker especially can drain a lot because they perform constant tasks as well. Uninstall them and let your phone manage itself.

The same goes for task managers and app-stoppers - Froyo and above does this fine on it's own

Freeze/Uninstall system services you don't use - This includes things like Sprint voicemail, the "Email" app, and the "SprintAndroidExtension.apk," and SNS services. You'll most likely find these on the "Running Services Page" as well. You can Titanium Backup to uninstall them, but I recommend the SDX Stock App Remover as that can restore them (TB can't reliably). TB can freeze these as well, which accomplishes basically the same thing. SNS is connected to Facebook, so if you use that a lot you might want to keep it. DRM services can also be removed, but may cause problems reading the SD card. I stay away from it.

Use Spare Parts to monitor wakelock and CPU usage - If you notice something giving you persistent trouble, shut it down. This is time-consuming, but you'll get a good feel for what apps are out there to accomplish similar tasks and which one best suits your needs.

Uninstall apps you don't use - Next time you wipe and flash a new ROM, reinstall or restore backed up apps as you need to use them and not all at once. You may find you don't need quite a few of them, allowing you to keep more space open on your phone and requiring less current to maintain them

Don't charge the battery overnight - most phones can reach capacity in 2-4 hours depending on charge level. Beyond that, holding at or around fully charged will degrade the battery by denying it the ability to release the stored energy. I charge mine in the evening a few hours before bed and top it off in the morning before leaving for work.

Get an 1800mAh battery sold for the Epic Touch - this is what moved me form "getting by" to "definitely comfortable." For around $25 (incl shipping) on ebay, I've gotten a new lease on my Epic's life. It may seem like cheating to bring in a new battery, but it makes a lot of difference WITHOUT adding more bulge to your phone (makes it a tad heavier though).

Hope this helps. Remember, of course, that what works for one phone won't necessarily work for another. Despite being the same model, minor imperfections in silicone can create individual temperaments for each phone.