Can you provide an actual markup example that demonstrates the question?
For absolute URL values, the parser should just pass the value through, no processing or validation required.
For relative URL values, presumably "document's language's rules for resolving relative URLs" already handles making sure the base URL is valid.
Thus resolving a relative URL value could at most require URL escaping, which we could consider adding. However I’d rather first see an actual example markup that demonstrates how you could pass an "invalid [relative] URL" to the mf2 parser before adding another processing requirement (URL escaping) to the spec. Otherwise I'd prefer to close this issue with no changes needed.