Nearly every compile-to-JS language is a better choice than JS unless you really, truly need something legacy. The exception
might be Coffeescript, but even that's not
bad, it just add a whole lot. Even then I'm certain you can find a modern language that can target, say, ES3. I've never needed that, so I won't claim to know any off the top of my head. But it doesn't matter, because you could simply pass the output through Babel as a last resort.
Yeah, yeah another build step, but I consider almost anything as preferable to use Javascript or Typescript.
These days all my would-be Javascript projects are done with CLJS, Elm, or maybe PureScript if I want to do something fancy with types (or don't want to deal with particular Elm quirks).