One does not simply "detect adblock". Browsers are user agents. They run code in an environment optimized for user safety and convenience. These environments will always be able to tell your site's server- and client-side code exactly what it wants to hear while showing something different to the user. You can't stop it. The client will always win.
We may eventually get to the point where clients use various computer vision techniques to recognize ads. If I can clearly distinguish jiggling, improbably large elf anatomy below a flashing yellow "PLAY THIS ONLINE RPG" from content I want to see, so can an algorithm, at least to within an acceptable error rate.
Advertisements that are so borderline that they can't be detected as advertisements are ones I probably don't mind seeing anyway.
Spammers have already tried all available countermeasures and they've completely lost. Spam is so completely ineffective that it's actually dipped below half of email traffic.
No, the client will always win in the end.