O uso do UUID é sempre a melhor opção. Mas dito isto, o seu problema vem de você, uDev. Alguns controladores Sata mais antigos demoram um pouco para girar e, nesse momento, o udev já encontrou a unidade IDE e a usou como a primeira unidade. Embora eu acredite que isso seja apenas do Cold-Boot.
Quando eu trabalhei com o Coreboot eu encontrei este problema frequentemente e a única solução real que eu encontrei foi a pausa do sistema por alguns segundos (My 1TB consumiu os 20secs) para permitir que as unidades girassem.
Espero que ajude de alguma forma!