I don't know if there is a way to have fully separate users (where you can create a new user with a username already taken on another website) but it is possible to not reveal other websites to your users. However the users of a website are not used on another website (except the administrator) unless you use the feature "Add Existing User", so it is not possible to know users of other websites by using a URL like /author/username
.
By default, WordPress leaks other websites which is not good for privacy I think. I had to configure the password reset link to stop leaking the primary website, see Password Reset for Users on a Multisite Subsite.
Also I used the plugin WP Mail SMTP to configure the From email address of the default PHP mailer to use the website domain name because it was leaking the primary website domain name.
And when using BuddyPress, I had to uncheck the option "Show the Toolbar for logged out users" because the WordPress logo was leaking the primary website URL. However BuddyPress will display users of other websites even if you did not add them to your website (if they tried to log in on your website), when visiting the URL /members
.
It is also recommended to disable directory listing on your web server, otherwise people will see all the files of other websites in your uploads directory (this does not prevent people from guessing and finding uploaded files of other websites).
If you successfully log in to a website with the username only used on another website or both websites, it will disclose the other website URL in the menu My Sites. But if your username is not added to the website, you will not see other websites.
An advantage of using multisite is that you will not have WordPress core files duplicated for several websites. To avoid people finding other websites on your multisite installation, I would recommend checking after each update if there is no leak. In the end, it is like using the VirtualHost feature of Apache, there is always a risk that a hacker getting unauthorized access to one website, gets access to other websites on the same server.
Here are other interesting questions about having multiple websites with the same WordPress core without using the multisite feature:
Can we use one WordPress installation for multiple databases, domains and content directories
https://stackoverflow.com/questions/8794063/leaving-wordpress-core-files-untouched-shared-between-multiple-blog-installation