Likewise I have the right to reject you if you can't comply with my terms.
"This site is not supported on browsers that block ads. Please switch to a different browser or disable your adblocker to proceed"
Those are terms. You can choose to ignore or circumvent them but they're still terms.
But underlying point is that you have no moral or ethical claim to how people view your content, just as you have no moral or ethical claim that a person cannot rip ads out of a magazine. If you want them to pay for your content, the Open Internet is not the place you should be publishing.
In this case, I see internet content divided in half -- content for those who can pay for it, and content for those who can't. Not all websites should survive. Not all users should be able to experience everything on the internet. "You get what you pay for" is not wrong. Exclusivity can lead to quality.
HTTP is not a contract.
You stopped leeching their bandwidth without any opportunity for them to earn any ad revenue from them!
Allowing leeches on your website doesn't seem that beneficial.
The end user cannot see some content on site A because of adblock detection but he can see it on site B, he down votes the link of site A on sharing networks, he asks for a policy banning or advocates against linking to site A because content can be found on B.
I've seen this play out many times, and at that point you're not just losing traffic from ad block clients you're losing traffic overall, have people actively promote your competitors and earn a bad rep (and that rep might not even be objective - in general if people remember anything it will be "don't use A" not the "why" of it)
I stopped adding comments, starting discussions, I allow some non-intrusive ads when I enable them, I have quite extensive whitelist in ublock.
Is it what you call a leech ?
I'm not convinced that's the case. They're usually quite different demographics.