Loop as written is just blasting! out the LCD data.
Why not slow it down a bit, say only output Hi when GPS data comes in:
void loop() // run over and over again
{
if (GPS.available()) {
LCD.print("hi");
Serial.print((char)GPS.read());
}
}