(2) could be useful but a bit far-fetched at the
moment.
Really? Lots of us track changes with git, sometimes by means of one of the Emacs interfaces for it like Magit. You may be thinking of some interface-level features which aren't available by this method, like the ability to annotate changes in the same place you make them, I suppose. But working this way has a lot of 'features' that "track changes" doesn't.
Scot