I will admit that I am lousy at following a metronome. I also like to improvise and would love to turn improvisations into usable scores, even if just for my own reference.
So here's my simple method (simple for the user, not necessarily simple to implement): Use flexi-time to record the notes, as usual, but then provide a way to manually mark the beats. In one possible implementation, there would a special "correction" mode in which I could click on a note and press "1", "2", "3", etc. indicating that that note (and anything else occurring at that instant) should occur on that beat of the measure.
Once everything is marked, maybe we use the same "Renotate Performance" feature to clean up the flexi-time score, but the re-notation tool would have a much better understanding of the intent. MIDI events between marked beats would be scaled proportionally, so it wouldn't be necessary to mark more than the initial downbeats (and maybe not even most of those). Scaling occurs between the start of the score and the first marked beat and between marked beats, but not after the last marked beat—everything after the last marked beat just slides along with the marked beat.
I've always wondered why this kind of feature is hard to find. I can do it with my DAW (REAPER), but only with special setup, an added plugin and a set of instructions in hand.