Best practices for search behavior for "type ahead" and "near matches"

I am working on a user directory widget for a B2B application. The search function is the most important part of the widget. We are currently displaying the results of typing after 2 characters (if the user types "bo", the displayed results could be Bob Gundersonn and Sarah Flamboe). That's fine, but we disagree on how to handle quasi- matches or fuzzy search.

Allowing close matches would help if you tapped Steven but wanted to say Stephen. But that could be confusing if they type Jennifer Barker, who has not been added to the system and needs to be created, and they see results like Jian Jan and Jeremy Simon. (which we are currently obtaining).

If there was no typing feature, you could just wait for the user to start his formal search and say, "There is no match, do you mean … "but it's a little more tricky with typing because they capture the possible results and the list changes dynamically and quickly.

What do you think is the best solution to this behavior?