Mapbox has a Map Matching API (demo) that works decently well, but still has some really weird output if I draw particularly odd lines (though some of this could be down to it defaulting to driving vs walking & respecting one way streets etc).
There’d need to be some kind of interactive UI where “teh codez” snaps the path to streets as best it can, and then allows you to make corrections. As long as the initial snap was decently accurate, and the correction process wasn’t mind-bogglingly tedious it might work out ok… I’m going to add this to #ideas to see how much interest there is: Ability to clean/correct/snap activity paths?