Force some kind of tax per second of observed ad per person.
To clarify, I don’t mean paying people to watch ads.
I mean that as consumers watching ads, even inadvertibly, is time consuming. Time is equal money, therefore We should be paid for hour time.
This is how the free internet works. We get paid by free access. It’s expensive to host a server for people to access, this is the trade
Someone needs to make a service where it tracks what websites you use and you pay a fairly low (like $10/month) subscription for ad free internet use that is split between those websites based on how much you used them. An individual viewing an ad pays next to nothing so with that model even if only like $0.05 out of your subscription is going to a particular site then they are still making more than they would have by showing you an ad.
It could basically just be a paid ad blocker extension/browser that directly pays website owners based on how often people actually use their site. All analytics would collected by the service host (who would of course take a small cut to cover their operating costs) and each subscribers subscription would split up individually based on their specific use to avoid bots manipulating overall usage statistics. Of course this has privacy concerns but it could be made better by minimizing how much of the browsing information is sent. All the service host would really need is to know what sites you used and what percentage of the subscription needs to go to each site which could be calculated localy and just sent in on a monthly basis.
Maybe there would be a way to decentralize and not collect any data in a central location it but I don’t know how you would manage the money in a decentralized way.