Indeed, but tricky doesn't mean unsolvable :) 450m is a lot of money, but at the scale of the Web it's not *that* much, and we only need so many engines. I'd say a global budget of 2-3bn for all engines should be enough?
Right now they come from the original sin of the Web: pretending that money doesn't exist so that the only option is to monetise people in variously icky ways.
I don't think there's a purely technical solution, but we can look for technical options with minimal regulation.
It's a much longer write-up than a tweet, but an interoperability mandate on search and small revshare to browsers and engines could get the money from essentially the same sources (so we're not breaking the bank) but without the downsides.