But the bar now is that users expect their displays to automatically update promptly, and they don't care how hard it is for you to implement. You don't have to do the level of complexity you think. For example there is no need to tell the client there is an update, or the details of the update. All it needs to know is that there could be an update. It can then go off on the regular HTTP connections to see what is new/relevant and that will go via your existing servers/caches/load balancers etc.
Huh? You are supposed to correctly choose the HTTP verbs and URI path precisely so that HTTP semantics apply.
If you are talking about page state then there are numerous ways of dealing with that - one example is http://diveintohtml5.info/history.html
If your assertion is that developers can write bad code, abuse HTTP semantics, defeat caches, break navigation etc then so what? With the ability to do things right comes the ability to mess them up.