Caps discourage people from using too much and making the network slow for everyone and/or very expensive to run. It'd be great if, instead, bandwidth was prioritized based on usage each month. So the really heavy users that cause problems for everyone else will run slowly during the day but still can be fast at night.
Ideally there would be a way to mark streams as low-priority in a way that didn't count against your quota, that could be used automatically by backup software and other cases.
Another possible system which seems fair to me would be to give each user a guaranteed 1/N of the bandwidth. If there's any unused, then split it equally among those that are using it. In practice an ISP needs to have enough capacity to support streaming during the peak hours, so that'd keep the 1/N value reasonable. For example, if a local ISP offers 1 gbps connections to 200 customers and has them sharing a 10 gbps upstream connection to the wider internet, each would have a guaranteed 50 mbps, with ability to burst to all 1 gbps most of the time. That's plenty fast for streaming from several devices per household. If someone needs faster guaranteed speed, they can pay extra for more bandwidth shares.