How to always rewrite author archive page URL even if the author does not have a post

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).