Ad revenue will not be a sustainable way for the majority of the internet to fund itself, outside of possibly video sites like Hulu. End users are already paying for those adds, the only difference is they're paying for everybody's. If you use adblock, but still pay for your internet connection, you pay for the adds the guy down the block is viewing.
We'd need to make it analogous to the phone system, with certain sites' addresses being, in effect, "1-800" numbers. Something which must be accounted for in the company's business model. The costs you're addressing wouldn't just appear, they're there already. The only difference is you would be able to see where they are coming from, and know who ultimately pays for them. I would prefer to pay for that which I actually use, rather than try to use what I'm paying for anyway.