I have started a similar project, but stopped working on it, and seeing this I decided to put it on GitHub, even though it's not very well tested and not feature complete.
The most complex feature in my code is the ability to turn var into let/const optimally using an esgraph-based dataflow analysis, and it also has the ability to introduce arrow functions, shorthand/method properties and classes.
It is implemented as a fork of Babel with slightly changed packaging and a bunch of ES5-to-ES6 passes.
I'm not sure if I'm going to do any further work on this, so feel free to incorporate the code into your project if you find it useful or start maintaining a fork.
It has been tested a bit but as much as it should, so it may not just work out of the box.
You can find it at https://github.com/luca-barbieri/5to6