I never stick a print() statement by itself. I always print something before or after (or both) the thing I am printing.
If you were to print the character from the GPS and a space, perhaps what is being printed would make more sense.
The data being returned by mySerial.read() is an int. That is because the read() method needs some way to indicate an error condition (nothing was available to read). Since you are calling the read() method only after verifying that there is data to read, you could make the type of c char, instead of int. Then, the Serial.print() function would not be converting the character value to a string. It would, instead, print the character.