And again, when sites serve their OWN ads, they are not blocked
This. I would personally be fine with sites paying their bills by serving up advertising meeting some very simply rules:
1) Ads must be served up from the same (1st party) domain as the site you are visiting.
2) Ads must ONLY consists of static images (.PNG, .JPG, .SVG) -- no exceptions
3) Ads may NEVER include or be targeted by any scripting whatsoever (inline or event-based)
4) Ads MUST be marked up with a simple HTML5 <aside> container element, containing some type of standardized markup pattern.
5) Ads MUST contain a clear heading of "advertisement" and be visually styled to clearly set them apart from actual content.
6) Video or audio containing ads must only load a static poster image (PNG, .JPG, .SVG) that is hyperlinked to the video, requiring the user to click to opt-in to play the video.
7) Pop-overs or unders using scripting or CSS should NEVER be allowed.
8) Cross-site tracking should NEVER be tolerated.
9) Sites should be held responsible any ads that don't meet the rules above and abuse visitors
If I were king, I would require that all ads use markup similar to the following:
<aside class='advertisement'>
<h2>Advertisement</h2>
<div>
<a href='
http://example.com/0000001'><img src='/ads/com-example-0000001.svg'></a>
</div>
</aside>
I'm sure that some other bright folks can recommend improvements such as adding appropriate ARIA roles or other metadata but I stand firm that ads should only ever be marked up using <a href=''><img src=''></a> with no scripting whatsoever.
When all sites adopt this model, then we will stop fighting the abuse of visitors by agressive advertisement and tracking. Until that point, we should all be blocking this crap using any technology available to kill any revenue that is gained by abusing visitors.