But users end up paying the subscription fee to those content providers, do they not?
Not for the service they're getting. Let's say I'm a Speakeasy customer, and I also pay for Netflix.
You're a Comcast customer, and you also pay for Netflix.
Speakeasy is network neutral, so Netflix has no disadvantage compare to any other provider. If Speakeasy has congestion, Netflix and Amazon will be just as slow. To relieve this, they increase their bandwidth do their peering points, and all networks are again running fast. I may have to pay more to Speakeasy for this speed increase.
However, in your case, Comcast segregates Netflix's traffic and slows it down to relieve congestion, instead of treating all networks as equal. Comcast says their networks are not the issue, because they show you perfect speed from Amazon. You complain to Netflix, who must pay Comcast to get their speed increased.
Now, this is where the bullshit starts: Netflix passes the cost for the Comcast toll on to both you and ME, even though I'm not a Comcast customer, and this toll did nothing to increase MY speed. In fact, I already had to pay extra to my ISP to get my speed fixed.
That being said bandwidth when I'm watching something on Netflix, big deal, latency when I'm watching something on Netflix, fairly inconsequential.
But latency on Amazon, or particularly an online game? Big deal.
So I could see an argument for allowing ISPs to mess around on that basis. Increasing bandwidth on Netflix and decreasing latency on Amazon would be a win-win for the end user. How to stop ISPs from using that power to screw around with providers is another issue.