Before I became a maxi, I really liked the idea of MINA protocol. You've got a Merkel tree of account balances, and the top-level zero-knowledge proof gets updated across the network. The knowledgeable proof for each account is then held by the wallets individually. There may be a way to build this into Bitcoin non-custodially, such as publishing the top-level zk-proof on-chain and a manner to move in, out, and across L2 instances via an LN-like protocol.