2 variants of safeNormalize, one with fallback, one with logging