I've seen one person go thermonuclear trying to prevent ad blocking, and it seriously sucks. Randomly generated content classes and IDs, shifting DOM elements around to avoid them being targeted that way, and later on just completely removing all the divs from the area and manually painting large advertisements with primitives. Made scraping substantially more difficult, but of course not impossible.
One site that still has me beat dynamically loads all of the content and code through a websocket, and various bits are so heavily obfuscated that they look like brainfuck. Finding tools to tamper with SSL websockets is a challenge enough in its own right (Chrome has nicer tools now though).