Why doesn't a redirect table work? UID->SID64. Net messages might break, but that's easy enough to fix. I can't think of anything else where the size of SID64 vs UID would matter. Sure, collisions still exist. But it's still better than keeping UID.
It would have been nice if Garry hadn't made UID in the first place, but we can't change the past. It might not be the most graceful change and there may be some bugs that are caused by it, but the same thing happened (on a larger scale, I believe) with the shift to Garry's Mod 13.
With all that said, I highly doubt the devs will do anything about Unique IDs. Oh well, I can hope.
A redirect table won't work because of the collisions issue.
CRC32 is highly prone to collisions--it's made for verifying message integrity over lossful network streams, not storing unique data.
Plus, how do you make a redirect table? Do you iterate over every possible SteamID? What if the spec changes for SteamIDs? Do you do it dynamically?
A redirect table would only end up being a cache of sorts anyway.
Another issue with the redirect table is that
databases will expect
numeric values for UIDs, not
string values, which is what the UID is constructed from (see
the wiki page). So the redirect table would have to map SID64 to UID, which isn't too impossible... until you realize that they're both numbers, and how would you tell them apart? Which one of these is a UID? Which one is a SID64?
There would be plenty of bugs. Addons like UTime
use UniqueID internally, and changing that would break the
entire UTime database without going through and updating every record to SID64, which you
cannot do without having the players online. And there's no way you're going to get every player ever to join your server, and you likely won't want to reset your entire UTime database, especially with a larger community.
We're so far down with how long UID has been in the game that it would be detrimental to remove it now. Perhaps following some major release, sure, but do you see a major GMod release down the pipeline anywhere?