Unable to Parse data from GPS Logger Shield

That character is 0xFF which is the -1 you get when you read a Serial port that isn't ready. Use .available() to check for available characters or save the results of the .read() in an integer and check for -1 before using it as a character.

Try changing this:

  if (! usingInterrupt) {
    // read data from the GPS in the 'main loop'
    char c = GPS.read();
    // if you want to debug, this is a good time to do it!
    if (GPSECHO)
      if (c) Serial.print(c);
  }

to

  if (! usingInterrupt && GPS.available()) {
    // read data from the GPS in the 'main loop'
    char c = GPS.read();
    // if you want to debug, this is a good time to do it!
    if (GPSECHO)
      if (c) Serial.print(c);
  }