The resource they're selling is bandwidth, not bits. There are unlimited bits, crunch all you want, we'll make more.
Bandwidth isn't unlimited, and no one has ever sold "unlimited bandwidth".
There's no reason for putting a limit on the unlimited resource in order to control allocation of the limited resource, it's a very crude and ineffective method. When I didn't watch that Netflix movie at 3am Sunday morning, the ISP didn't save up those bits, so why should it affect how much it costs for the bits I'm using Wednesday morning at 2pm 3 weeks later? Throttling or charging more based on usage in a billing period simply doesn't make any sense.
Sell the bandwidth (say, by the Mbps), and at any particular point in time your connection from point A to point B will have a throttle of N% of your base rate. If you aren't trying to use more than that, you won't even see that there's a limit. N is determined based on current network congestion and your recent usage (e.g. last 15 minutes or something on that order). Very low recent usage (as a percentage of your base rate) would give a boost to your throttle level, e.g. 150% bonus. High congestion for a particular network segment would decrease N for any connection using that segment. I leave the algorithm for propogating congestion information as an exercise for the reader.
This has the effect of shifting usage to underutilized times/locations, which makes the network more efficient.
Such a method does need some transparency, with guarantees of percentage of time that you'll be able to get a certain percent of your base rate, perhaps as a function of time/day of week. If you can live with 5Mbps at peak usage, when the throttle might be at 60% for an hour, then you'd buy an 8-10Mbps plan, which might give you a short burst of 15-20Mbps even at peak, and 30Mbps sustained at 3am Sunday.
What do you care if someone is "wasting" bits when it doesn't impact anyone else? The actual marginal cost of transmitting data bits instead of idle/keepalive bits is a rounding error, the ONLY reason to be measuring data is to allocate the limited resource, which is bandwidth.