Is there any way to block certain sites, eg MacKeeper?
I would suggest OpenDNS.  You can apply it to your entire network using their name servers and block categories or specific URL's.  Although the ad might show up as a frame to a 'Website Blocked' page from OpenDNS, you'll probably find it useful (it's free).