What you describe is a well-known issue. One that is unfortunately out of the control of we at Intel, and squarely in the hands of the kernel guys.
I'm asking around here if anybody has a script or a solution for you, however thus far I've not magic wand I can provide you. Hopefully somebody a lot smarter than I reads this question and has a solution for us.
Have you considered just never rebooting your system?
I was referring to the order in which devices are enumarated. I'm not familair with the udev rules. I will keep my eyes and ears open; if I find something I'll post it.
I did stumble across this article - that has some similar things your scripts do: