I confess to not having read all of the existing responses, so apologies if I'm repeating what someone has already said.
I think that as point zero, given names need to have different rules than surnames. Completely different: documentary practice in Europe, and to some degree in North America, treated the two in polar opposite ways.
Names have always been translated into the language being written. We still do it today: the English abstract for the Hungarian dissertation names its subject Pipo Ozorai, not Ozorai Pipo like the dissertation itself, and not Pipo de Ozora like the actual historical documents.
The exact details of this translation varied, but the version that's applicable to genealogy is where the given name is translated (or substituted, see below), while the surname is just along for the ride, modulo the orthographic variation caused by multilingual environments.
For example, in a German-language record, you find Anton Schneller; in a Hungarian one, he's Sneller Antal (or Schneller Antal, depending on the writer's knowledge, habits, and interpretation of the rules), and in a Latin record written in Croatia, he's Antonius Šneller. As you can see, for the given name, the precise sound is irrelevant, while for the surname, sound is all that matters.
Translation of given names sometimes disregards not only the precise sound, but also the etymology: Gyula becomes Julius, Béla becomes A(da)lbert, Rudolf becomes Rezső. Or Wojciech or Vojtěch become Adalbert. (Or add a -us to the German forms if it's Latin.) Should such substitutions be included in the variants database?
For surnames, I don't know how to address orthographic variation that depends on the language context for phonological interpretation, such as the directly-opposite use of 's' versus 'sz' in Polish versus Hungarian.
Ideally, I'd like to restrict surname variants to forms that are actually found in documents for the same person, or at least the same person's immediate relatives. There's no way to enforce that, though, neither in the existing lists nor for future suggestions.
I also don't know what to do about misreadings, such as Sueller instead of Šneller. Hopefully nobody's entering those in the name fields on WikiTree, right? They're not actually the person's name. They're useful to keep in mind when searching indexes of record repositories -- which WT is not. The question is complicated, though, because sometimes the misreading is a valid name, and it can take quite a bit of research to figure out what is actually meant by the consistently-ambiguous handwriting.