Someone give me a client that I can use two-factor authentication with. Until then, all other methods are insecure to some extent or other.
Two-factor authentication exacerbates the problem. Now, instead of one thing that can go wrong causing you to lose your bitcoins (loss of the wallet), there are three things -- loss of the wallet, loss of the password, and loss of the second factor.