What's wrong with using uuids?
If it's really bugging you you could use something like
#!/bin/bash
while true; do
for dev in /media/*; do
sdname=$(blkid -U ${dev##*/}
[[ ! -e /media/$sdname ]] && ln -s "$dev" "/media/$sdname"
done
done
Something that used inotify would work better though.