Actually, on looking through 3510/7472, ipp/ipps is not using the Generic URL syntax of STD66 or the URL Standard, because it explicitly wants to reject userinfo from its processing model (hence, doesn't use the authority).
The general solution I've seen to this is bespoke URI parsers, such as the
Android facet parser or
ChromeOS printer config parser that build upon //url/third_party/mozilla/url_parse to extract each bit. This does not canonicalize URLs (thus wouldn't be suitable for equality testing) nor ensure consistent treatment, but does allow for feature extraction. You could further canonicalize by building up the url::Parsed representation to feed into the Standard URL canonicalizer - the IPP/IPPS schemes are 'close enough' that you'd be able to build a canonical GURL (since the handling is mostly around authority parsing and default ports). You can see this done by code like
SafeBrowsing
The more extreme option would be to add it to the URL Standard, but it sounds like it's an explicit non-goal to have this be Web Visible.