Those pages, especially espn and I'm sure yahoo too has Flash ads up. Install Click-to-flash, and see if anything gets better. With that program you can click on a flash content anytime you want it to load. I got like some hours better battery life with this program!
Depends on what you're doing and brightness of screen. I typically get 4 hours in total even with ClicktoFlash enabled. But it can be much more if the screen is at 1/2 brightness. In some ways Safari is a worse culprit than programs like Word and Excel. Even animated GIFs use quite a lot of CPU.