Someone in Mozilla came up with a language called LLJS, that took full advantage of and compiled down to asm.js.
It looked like it had some promise, since it wasn't nearly as heavy as emscripten, but I don't think much has happened with it since it was created.