Well, I kind of like the number two way of avoiding the "predictable interface naming" shown in the link I posted.

2. You create your own manual naming scheme, for example by naming your interfaces "internet0", "dmz0" or "lan0". For that create your own .link files in /etc/systemd/network/, that choose an explicit name or a better naming scheme for one, some, or all of your interfaces. See systemd.link(5) for more information.

It is similar to the use of LABEL for drives. However it also does not happen automagically and of course wouldn't be useful for those who don't use systemd.

The idea of 'sorted' interface names itself is not bad, the implementation is just defunct.

There is no sensible reason why, in the booting of the system, they could not have implemented a choke point like network.target at which the 'biosdevnames' could not be enumerated into a logical list.

And if that's not possible for hot-pluggable devices like 3g modems, then use device ID strings or let the user assign a number to each device (as has of course been implemented).

It should be easy enough to have some software that lists the devices and where you can say "device "string" set number 2".

It only requires 2 commands but we don't have it.

Maybe OpenSUSE has it (with YaST) I don't know.

I mean it's so utterly simple to provide a user-friendly solution, but apparently that is not difficult enough and you can't call yourself a genius for solving such a problem; however if you make the solution utterly complex you can make a career out of solving the problems your own solutions produced.