Probably not much use now but I had a similar problem and my solution might work for you too - I checked the rigidbody's velocity and only updated the character rotation if the velocity was over a certain threshold (0.1f or similar, I think)
That could be a quick solution! I'll give tat a try and let you know how it goes!