If you have a customer that has one main contact for new user setup or a customer who has continuous need of user maintenance, perhaps you can pass the function on to them.
You can use security to define what the admin user can do, allow them to add and delete users, assign roles or maintain addresses and contact info. You can create and give them a list of security roles they can choose from so they don’t accidentally provide too much access. If a contact has troubles with their login and needs help resetting a password, the admin contact can take care of that as well.
If you have a customer that requires each of it’s users to have specific access to products you can let the admin handle that as well, just give them rights to also grant and restrict access and they can set up each user with the correct products.