This is going to put me in weird company but I really don't see why metered billing is such a terrible thing. Most other utilities are pay-for-amount-used. And as a bonus, this creates an incentive for developers (via customer pressure) to not use insane amounts of data.
It is because data, unlike water or electricity, isn't a finite resource.
Your electricity bill includes the generation in the power plant and the transmission over the power lines.
When it comes to Internet access, you're paying for the transmission (bandwidth), but there isn't a "packet generation plant" that you should have to pay for.
Also, data caps mean people will use less data, meaning using less bandwidth, meaning ISPs will have less of an incentive to upgrade their already ancient infrastructure. It would be giving them more money to use less of what they provide.