While we’re waiting for WebAssembly, I strongly recommend using transpiled languages. There are lots of wonderful choices. They even make writing SPAs much less complicated than in JS with Angular, Ember, React, Backbone, etc. Many companies and developers use transpiled languages to great success. (And I’m not talking about CoffeeScript nor TypeScript nor Babel. I’m talking about using real languages like Smalltalk, Python, Clojure, Dart, Haxe and Scala.)
When WebAssembly finally arrives, we’ll be able to choose from a number of superior languages. The good news is, if you choose transpiled Smalltalk, Python, Clojure, et cetera now, your language investment will be preserved in 5+ years.