For me I found that by using gfxCardStatus, I was able to determine my Nvidia processor was being used when I didn't expect it. Quitting that related process saved the battery considerably.
When I first got my computer and was testing everything out, I had a battery life like yours. By making sure I was using integrated graphics, turning off bluetooth, half power screen, and avoiding any heavy processes I was able to get 9.5hrs over the weekend - of almost constant use (email, web browsing, etc).