A fix to the #Bolt12 asynchronous payments problem could be implemented at wallet UI level using a concatenated 'optional parameter' for a [secondary] custodial wallet within the URI/QR, similar to BIP21.
So, if my non-custodial lightning node (i.e. Phoenix wallet on a cellphone) is unreachable for - say - 300ms, then attempt payment to a more available secondary address (i.e. custodial service).
A cron service could optionally be set-up at the secondary address to periodically attempt to sweep to the primary one.