Adsense Targeting
Sometimes no matter what you do Google decides to serve up crap ads for your content. In my experience the one thing you can do above all else to ensure targetted ads every time is make your page name keyword rich.
For example even if you have a page with text about cheese on if you have a page name of www.domain.com/onion.html you will get onion ads…
Here is a really bad example of when Google get there targetting wrong (Its been like this on one page for a while!)

