Copy and paste my response from 992 so people can find it in either place.
I somewhat solved this issue back when I implemented partuuid.
A small secret about the grub disk order is that it is derived from the BIOS boot priority order (in most cases). So if the disk you have grub on is highest in boot priority there is a good chance it will always be hd0 regardless of new media being added.
Not a perfect solution but it should cover most embedded cases where someone isn’t expecting to boot from a different device.