Something I always meant to have a look at, but never got around too.
My thought was cache previous velocities, dampening them all based on how parallel they were to the current desired direction of movement.
As each previous velocity approaches zero, remove them from the cached list.
Or something.
Again, its something I haven’t actually done yet 