There's Caitline.js (formerly Communist.js), which targets many of the same problems that have been called out here. I'd be interested in seeing some simple examples of it ported to Clojurescript, or examples of Servant ported to Caitline and compared. http://catilinejs.com/
Wow, this is really cool. I'll definitely try porting some examples over. I'm pretty interested in seeing how they overcame the separate context for functions.