IMO a big part of the issue is the consumer. Consumers know very little about internet other than "buy the one with the biggest number". So internet is advertised like flow rate (L per minute) and restricted like water (Cubic M).
I think they should goto a connection + volume model. $10 a month just to be connected, maybe 500MB free download or whatever. And then you pay per GB, variable rates based on time of day. $1 per GB at 7pm, $0.01 at 3am. Like how industrial electricity rates work (if i understand correctly).
Pricing models will screw consumers over until the pricing model matches the economics of the situation. If I were a startup this is the issue I'd fix; Pricing models that do not match the economics.