Hm... I think I may need to write a new kind of adblocker.
It wouldn't modify the page contents or user experience at all. It wouldn't actually directly block any ads.
Instead, it would look over a user's shoulder, observing and tabulating ads, and then doing a "follow the money" analysis of it all.
And then it would present that data to the user in a report intended to be used for boycotting.
Instead of cutting the ads off on the "receiving" end, take the longer view and cut them off on the "sending" end, by actually making them pure cost with no financial upsides for the advertiser. Once they're 100% downside, they'll go away (because the advertisers will either stop or go out of business).
That'll fix things right up, given enough time.