Regarding USB cards it's hard to find a solution that pleases everybody. If we'd bind things to MAC addresses for USB, then it is difficult to replace broken hardware. If we bind things to the USB path then you cannot plug things into different USB plugs. Neither is ideal.
Ultimately we decided to just stick to the path-based naming for everything, since it would be weird to deviate only for USB for this, and given that none of the two options is clearly better than the other we think uniformity is a good thing to have.
You could see this from a different perspective: the new predictable names are really useful for admins to know which physical RJ45 ethernet port to plug their cat5 cable into. With the scheme we opted for as a default now you can now consider the USB ethernet adapter simply a trivial converter of cat5, so that instead of having to map cat5 cables to RJ45 port you now just have to map a cat5 cable to a USB port. Looking at it that way makes this choice kinda natural, doesn't it? If you think about it this way the USB ethernet adapter is really just a converter you can randomly replace, and the focus is stricly on matching up cables and physical ports on the computer itself.
That all said, this all isn't set in stone. We are very open to changes.