確かにストーリーの要約が悪すぎるので原文を読んだほうがいいと思います。
そもそも、啓発(トレーニング)が全部ダメなんて言ってないですね。健康に関する啓発がうまく機能している例として、HIV感染予防が挙げられてます。うまくいっている理由は「気にしなかった場合のリスクがものすごく大きく、はっきりしている」「安全なセックスのために何を守ればいいかがはっきりしている」ということです。一方で、「手を洗う」という啓発ははるかに簡単なのに、うまくいっていない。手を洗わないことのリスクは小さいし、どんな悪いことが起こるかもはっきりしないからです。
車の運転の教習もうまく機能している例です。車の運転は難しいものですが、乗れることのメリットははっきりしています。また、一度安全の常識を覚えれば、車自体の技術が進歩しても同じやり方で運転できます。コンピューターセキュリティの常識が10年もすれば変わってしまうのと対照的です。
Schneierさんの主張は、「ユーザーに細々した対処法を教えるのではなく、基本的な操作方法を身につければ安全に使えるよう、開発者を啓発した方が良い」ということだと思います。
高木浩光さんがこちらの日記で書かれている主張に近いと思いますね。ここで言う「ユーザーがルート証明書のフィンガープリントを確認せよ」というのが無駄なユーザー向けの啓発です。こういうことをせずに、「オレオレ証明書を使うな」と開発者を啓発し、その上でユーザーには「オレオレ証明書の警告が出たら必ず『いいえ』を押しなさい」という常識だけを身につけてもらえばいい、ということだと思います。