I found there are two characters for "xia1" (ghra as in Middle Chinese), 蝦 and 鰕.
Could someone explain what the difference is?
You should use 蝦. As can be seen in zdic.net 鰕 used to mean shrimp, but is not used anymore in this meaning. In Japan it however is still a common character.
The latter is used in some exotic fish names.