With a bit more structure, you could change that to: every package in AUR is actually registered as foo/maintainer under the hood, and installing the package without maintainer name pins it to the currently active version. Package adoption can then be formalized as a new maintainer publishing their own version of the package, and users of an already-installed package need to issue an explicit command to switch over to the new maintainer's version.

Or, have actual user repos like a normal distro.

What do you mean? Their package manager allows you to add additional repositories, if that's what you want.

How is that different?