I had a similar problem. But I didn't have a brilliant solution at the time so I used this workaround.
Instead of insisting on a specific drive letter, take advantage of the fact drive letters get assigned in
next available letter sequence when a USB drive gets plugged in.
I just looked at the last
fixed harddrive letter (in this case CDEFG were all being used), plugged in a USB key and assigned it
one more than the next available letter which in this case is the letter is I. (I set the key to hold a backup of the system state data since I didn't want it to just sit there doing nothing BTW.)
We then set set the backup software to look for the H drive. Because with drive I now 'permanently' occupied by the USB key,
it leaves a gap in the sequence, with the next available letter being H. If you remove and then immediately add (as in swap) an external drive, it will always assign it the same letter (H) since it's the next available in sequence (i.e. CDEFG_I).
So why create a gap in the letter sequence? Here's why:
Anything that gets plugged in after that will get letter J or higher.So as long as you're swapping H properly using the remove USB applet - and you immediately replace it with another drive - the drive letter shouldn't change. The backup drive will always get the letter that falls into the gap. And any additional USB drives will grab letter J or higher so it won't affect your designated backup drive letter assignment. No more having the backup drive's letter jumping around.