In the case for Lat/Lon, I guess that 0.0 could have a meaning, though it is very unlikely someone is exactly at lat/lon 0.0. An alternative is to translate to the XY coordinate system, though that is not a perfect solution either.
If you really feel like expressing that LatLon as possibly null, it should rather be:
message User {
optional LatLon position = 1;
}