We managed this by hijacking the default author template and setting up our own.
Set up a new url rewrite for team members:
add_action('init', function () {
global $wp_rewrite;
$wp_rewrite->author_base="team";
$wp_rewrite->author_structure="https://wordpress.stackexchange.com/" . $wp_rewrite->author_base. '/%author%';
});
In the template we then use:
$uid = get_query_var('author');
to get the user’s id.
From there you can build out your own template (author.php) for your authors.
We approached this from the perspective of wanting a custom template and url structure for our authors, but ended up solving your problem in the process (I think).