Some subsystems (most multimedia) only assign device numbers by load order of
the driver modules.
Among these are alsa, v4l and dvb drivers.
For alsa there already is the index parameter, but the others have no special
things controlling this.
The reason lies in the start order we have at the moment:
1. udevd gets started
2. udevtrigger triggers coldplug events and modules get loaded (if not blocked
by blacklist)
3. checkroot init script runs
4. modules init script runs (loads modules listed in /etc/modules.autoload.d/)
5. checkfs init script runs
6. localmount init script runs
Now you can control order by adding modules to /etc/modules.autoload.d/ and
second adding them to blacklist to prevent random order applied before.
One possible (easier) solution could be, that udev implictly blacklists entries
from /etc/modules.autoload.d/ (additionally to normal blacklist).
That means modules init-script behaved almost like being started before udev's
coldplugging.