I most agree with your assesment with the exception of "never". Never is a very long time and I believe Bitcoin will need to be extended to more secure cryptographic primitives on a long enough timeline.
"Never" was purposely provocative. I do agree with your assessment that given enough time bitcoin will need to be extended to more secure cryptographic primitives. But I think that any weaknesses will emerge very slowly such that by the time it is feasible to attack one of those 9 rich addresses, the funds will be protected by better security.
Still I would point out that known public key and leaking private key are not mutually exclusive. The most notable developer error involves repeat k values.
Repeat k values can only apply in an address reuse scenario. If your wallet has a flaw which leads to a repeat k value you are insulated from that risk by not reusing addresses. That is why I likened the PubKeyHash as a secondary safety. Sure if the primary security system is flawless against all current and future threats then there is no need for a second safety. I have never needed my backup chute when skydiving, and statistically I probably never will, that doesn't mean I jump with one chute though.
It is a fact that repeat k-value problems can only apply in address re-use scenarios, so I agree that address re-use introduces a new risk. You've suggested deterministic k-values in the past [as per T. Pornin, “Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA),” from Request for Comments: 6979, ISSN: 2070-1721, August 2013] and hopefully we see a push in this direction.
But here's why I
like address re-use sometimes: when someone asks me for help getting set up with bitcoin, I normally create a laminated paper wallet for them (and a TrueCrypt back-up). But I can see it in their eyes that they don't trust the paper wallet. So what I invariably do is (a) send the paper wallet 0.1 BTC, (b) produce a signature using the paper wallet to spend that 0.1 BTC, (c) broadcast the TX to the network (their public key is now known), and (d) prove to them that
this particular paper wallet works when they see the transaction confirmed. We then load the paper wallet with additional funds.
I
know that this is not optimally secure, but the new user is actually more confident because they've already witnessed that this particular key works. It seems people understand that the key can't "break" in the future because it's just a number, but how do you explain to someone that the key didn't come "broken" if you never test it? I know you can sign some text and verify the ECDSA signature locally, but this only convinces me because I understand how bitcoin works. It is not at all convincing to my mom, for instance.