I know there are some significant drawbacks to this option, but I wanted to get a formal write-up of using scheme handlers for wallet discovery up just so we can discuss it more broadly.
Here’s the proposal pull request: Add EIP: Scheme-Handler Discovery Option for Wallets
And its discussion thread: SHADOW: A Scheme-Handler Discovery Option for Wallets
tl;dr use registerProtocolHandler and <iframe src="web+evm://"> to connect to wallets over postMessage.