I consider multiple surnames as ordered components of the name. Originally (XII-XIII century, when “family” names began to be in use), these “components” described details of person figure (white- or red-haired, scar, …) or dwelling location (near the bridge, beyond the hill, …). Several “components” were sometimes needed to disambiguate because of restricted available vocabulary and endogamy. I enter “near”, “beyond”, “of”, … in the prefix field and “bridge”, “hill”, … in surname field. Connector is rather used in matro- patro-nymic naming schemes, e.g. -son, -dotter in Swedish.
Every time I see a different spelling for any person, I record it as an alternate name with a citation mentioning where I found this name. Eventually, when it is clear that it corresponds to a name change, I enter a date range as @emyoulation mentioned. But most of the time, in old records, it is only the clerk interpretation of the spoken name because, until recently, our ancestors lived in an oral society and had no idea about the “correct” spelling of their name.
By choice, I don’t create married names, considering it is implicit through the family record (depending on culture, of course).
Conventionally (this is a personal convention), I tag the birth name as the preferred name.
Also, considering the high diversity of some spelling, I enter a “group name” into the Group as field. Persons belonging in this group will appear close to one another in the person list, not matter the variant of their preferred name.
I play the same procedure with place names. There (apparently in my personal research), names have less dispersion and evolution looks better controlled, so date ranges are more relevant (this may not be true in other countries/regions). In addition, the *Enclosed by" feature also provides for dependency monitoring.