The issue comes down to contention ratios and peering. The last-mile ISPs don't want to peer with Netflix at a Hub level, they want to peer at a POP level, so they don't "waste" any of their backbone network between carrying Neflix traffic. Both parties are acting in their own self-interest.
Rationally, I have to think that when one service provider represents 10% or more of the traffic on a given network they should be doing something to address it, and the responsibility really falls on their shoulders and not the ISP.
Using Netflix as a simple example, all they would need to do to reduce their problem is offer a cache option on the end-user's network. It is less efficient than having it at the ISP's facilities, but it isn't all that complicated and the cost can be borne by the customer and improve sticky-ness. Right now, it is a pain in the ass to do things like a proxy to avoid the network saturation.