I don't know if you would take government regulation to get there, but if internet access isn't going to be completely unlimited, it just needs to be handled like any other untility (electric, gas). Pay for exactly what you use at a certain set, metered rate. Like 10 cents per Gigabyte or whatever. You use 500GB in a month, your bill is $50. Maybe next month your only use 200GB so your bill is only $20. Someone that goes nuts and uses 2 Terabytes per month is going to pay $200 per month.
Having arbitrary caps is just dumb. Most people won't use 300GB, some people need WAY more. If you're going to charge people more that use more, the people who use less should also pay less. It needs to all be relative.
Nobody has an electric company that only gives them a certain amount of electricity, and if you hit that mark before the month is out you get throttled down to only getting enough juice to turn on 1 light at a time in your home. That's a horrible business model, and basically what Comcast and most other companies that provide internet access are attempting to do.