Cr*p! I didn't know that. This adds to the ever growing list of beers that I should buy to various LWN members for valuable insights they provide. Are you in the Bay Area? :-)
You are saying that there is no theoretical way to identify the port in an USB hub where a device is inserted. So my scheme kind'a works only because it correctly identifies separate buses, and because already plugged devices in the same bus are enumerated in the same order. But if I start unplugging and plugging devices attached directly to a hub, I am screwed.
If I only could get my hands on the idiots who designed USB :-) Starting from the asymmetric connector and now down to this.
All that said, my complaint about the PCI device identification in the device model is still valid.