The problem is that the version of the standard is conflated with the version of the port. Here is a better system:
1) The standard has a version number. I would have suggested semver, except that USB will always be backwards compatible within the same physical port, so there's no need for separate major/minor versions. We can just use an incrementing number 1,2,3 etc.
2) The standard gives each physical port layout a name, eg. A, B, C. Port layouts can be added/removed in new versions of the standard.
3) The standard specifies and names various transfer rates, eg. T1, T2, etc with new names being added in new versions of the standard. (eg. version 1 defines speed T1, version 2 defines speeds T1, T2. etc.)
4) Manufacturers are not allowed to use the version of the USB specification in their marketing material at all. A port is not "USB 3.1", it's "USB C T2".
The version of the spec only serves to confuse customers because the whole point is that versions are backwards compatible. The only thing the customer cares about is the physical port layout and what features/transfer rate are supported over that port.
So the marketing names would be:
USB A T1, USB A T2
USB C T1, USB C T2, USB C T3
As a customer, I can easily see that I can't plug a "USB A T1" into a "USB C T1" because they are different physical ports. I can also see that "USB C T2" is faster than "USB C T1".
Admittedly thing are slightly more complicated because the transfer rate is not the only "feature", we also have to consider what kinds of data can be transferred. We can extend the full marketing name to:
USB C T1 (audio)
USB C T1 (audio,video)
etc.
Obviously this is too long to have on the port itself, so we can stick with just the port type and transfer speed (eg. USB C T2) as the short name.