Users would love if device enumeration, including PCIe device enumeration, was more predictable. But that would require a concerted standardization effort between hardware vendors (SoC vendors and mainboard vendors), firmware vendors, and OS vendors. As far as I know (but I could be wrong), the state of affairs is that PCIe device enumeration is mostly stable across OS reboots, but there are no hints to the user which physical slot belongs to which bus ID.I'd like to figure out which physical card it is to see if the card itself is going bad, or maybe it's a slow PCIe slot, or something like that.
Edit, it's not a trivial problem. PCIe is generally hot-pluggable, the user can add switches, and so on.