The elephant in the room: Requiring streaming for every customer simultaneously with no option for offline playback is a broken model with respect to how the internet works.
Granted, since any customer can arbitrarily choose any item in the Netflix library for viewing, the capability for streaming in real-time needs to work decently well. In practice, however, only the things in "My List" are likely to be viewed by a given customer, so downloading to a local cache would allow playback at optimal quality without needing ideal network performance.
It seems to me the intense desire on the part of Netflix and the "rights holders" for full control, maximum monetization and the deep rooted fear that someone might figure out how to make a copy is the real reason this is even a problem.
I would have no problem with a Netflix client that incorporated some sort of DVR-like functionality so that items of interest could be added to a local queue (sorry - queue is a deprecated term - My Local List). That would be wonderful for situations where the available network is sketchy (eg. hotel, coffeeshop) or not present (airplane, campsite, beach, etc). Rampant sharing could be minimized by allowing only one (or a few) devices to have the locally cached content, and requiring a network connection to download or release a particular item. Or if that's too complicated, just allow a limited number of authorized devices per account that can cache the same content.
I think enough customers would take advantage of this to alleviate the problems caused by real-time streaming and take a lot of power away from the intermediaries.