User URLs based on the usernames
Pathauto does exactly that.

All new user aliases generated after enabling the module will look like users/[user:name] (obviously this could be changed in module configuration - Configuration / URL aliases / Patterns).

You can use "Bulk update" to generate aliases for already existing users (and other type of content).