One path forward is Oauth, which several major institutions use on Plaid (Capital One, Wells, Chase are ones I know of).
This definitely solves “entering login information into random forms”.
I’m pretty sure I have seen these institutions offer you some control over what data you share when you link, but it was minimal control, and didn’t work well. Ideally that would be more fleshed out.
You’d still be sharing balance and transaction data with Plaid though, that part isn’t solved by Oauth. I think to solve that you need to have a European style standard banking API that makes direct bank-to-bank data sharing tenable?