Add better handling for empty fields in NMEA sentences
Rename float conversion function to safe_float