You could store the public key for each website in DNS. But now you moved the trust problem to DNSSEC. So far I haven't heard about issues like this for DNSSEC, but then again it is not a massive target currently.
It's also worth remembering that domain validated CA certificates already rely on trusting the DNS hierarchy as the source of the information they certify.