The brief answer is that the Settings > Routes feature is perfect for that. You can add tokens as URL segments that are provided to any template you select as variables. The same can be accomplished with the
routes.php config file.
For a very small organization that should work well. If not a very small org, here is another option to consider:
Nowadays I create a dedicated Authors channel separate from Craft Users. The Blog channel gets an Author relation field, and the Authors channel might get a User relation field. At the end of the day, an Author is metadata, and making it a system user is potentially a conflation that introduces other issues, e.g. external contributing authors that you don't want to give user accounts to.
Pros (esp for medium-to-large orgs):
- Author SEO is handled just like any other channel
- Listing pages are also just like any other channel (problem solved)
- Can have outside contributor profiles without creating User accounts
- Author profile fields can be specialized without polluting User fields
- An editor or content manager can publish articles for any Author
- Some custom module work to sync Author entries with Users if necessary
The only possible magic to implement is assigning a related Author to the to a newly created entry based on the current user if that's the expected behavior. Also, if you want to keep common User fields and Author channel fields in sync, such as email, names, etc. then there's that.
Hope that helps!