If you know the endpoint's key (because you are typing it on the browser) then I am ok with central routing services. In the end you can verify what's coming by yourself. The routing service can try to play you, but you have the information to verify it.
If we know keys, we can always use petnames to simplify their use. But the important part is to have the keys themselves.
cjdns is cool. I am not deep enough to know if it would work or not. But they should try.