That is what /dev/disk/by-label or /dev/disk/by-id are used for.
If you happen to look in /dev/disk/by-id (use ls -l /dev/disk/by-id) you will be able to confirm the hardware identity of the device. In my case, I have a kingston memory stick:
$ ls -l /dev/disk/by-id/usb*
lrwxrwxrwx. 1 root root 9 Feb 26 08:38 /dev/disk/by-id/usb-Kingston_DataTraveler_3.0_60A44C3FAC2DBFA0298A016C-0:0 -> ../../sdj
lrwxrwxrwx. 1 root root 10 Feb 26 08:38 /dev/disk/by-id/usb-Kingston_DataTraveler_3.0_60A44C3FAC2DBFA0298A016C-0:0-part1 -> ../../sdj1
I now know it has been assigned /dev/sdj, and the partition /dev/sdj1.
You can then put "/dev/disk/by-id/usb-Kingston_DataTraveler_3.0_60A44C3FAC2DBFA0298A016C-0:0-part1" in a script and know that ONLY that device will be used. It won't matter what /dev/disk/sdxxxx gets assigned as the
id is taken from the physical device.