Any method where you only have to expose your private key once, online. This is why I like paper wallets. Nobody can access your bitcoins online, until you sweep them from the paper wallets and once this is done, the private key is not used again. I have 1000's of paper wallets and use them for different things. I also split my bitcoins over 100s of wallets into smaller quantities. { If I need say 0.5 BTC, I do not have to sweep a wallet with 5 bitcoins to access 0.5 BTC }
You should be the only person controlling your private keys. ^hint^
you never "have to" expose your private keys online, ever. everything can be done 100% offline.
- you create the private keys offline using any wallet or even the famous bitaddress
- you print it offline and keep it on paper.
- you sign the transaction (by the time you wanted to spend) offline too.
this way, your private keys are never "exposed". they remain 100% offline at all times. and creating an unsigned transaction online and transferring it to your offline system to sign with the keys is not at hard hard or complicated.