Yeah, I think we need better collaborative filtering and/or ML for ad-blocking. And the browser should always make the website believe that the ads are shown (no altering of the DOM, but instead alter a copy of the DOM).
True. I guess you could load the content from a client running at a central service, and send the stripped-down version to the final client. Of course, you'd have to trust the service.