On my machine the order after startup is always the same.
[rocketmouse@archlinux ~]$ cat /etc/modprobe.d/alsa-base.conf
# ALSA module ordering
options snd slots=snd_hdspm,snd_ice1712,snd_ice1712
[rocketmouse@archlinux ~]$ service rtirq status | grep ice
213 FF 80 - 120 0.0 S irq/20-snd_ice1
214 FF 79 - 119 0.0 S irq/21-snd_ice1
I suspect they are sorted by the IRQ at startup.
There's still an issue, it's not possible to automatically restore the
MIDI connections, since both cards have got the same MIDI name and when
using udev for unique names, only the audio names are changed.