I've been doing continuous deployment (multiple production deployments per day) with an ajax-heavy application and have been doing a sort of rolling API change, where both the client and the server still function using the last generation's contract, so I rarely get a client request that the server can't deal with, or send a response that the client can't deal with. It doesn't work with every kind of change, but it has helped me.
Something that you could do (and I may wind up doing) is just having the page ask the server if it needs to refresh itself every so often.
Something that you could do (and I may wind up doing) is just having the page ask the server if it needs to refresh itself every so often.