Personally, I just use an Ubuntu Live USB flash drive, in which all network cards and connections have been disabled or removed. So when I boot from that, I have a dedicated, offline, safe Ubuntu environment without the need of a separate PC.
Created some private keys (in the offline Ubuntu), stored them in a truecrypt archive (although just an encrypted archive would also do, with any archive format that supports AES, for example 7-zip) and backed that up at several places. Online, offline and on paper. I stored the public addresses in a separate file, imported them as watch-only in a blockchain wallet, so now I can see my funds there, without ever exposing my private keys in any way.
I only use this for my savings, my spending amount isn't that much and I just keep that in a regular blockchain wallet and a local wallet (MultiBit).
Whenever I want to transfer funds out of my savings to my spending account, I use a script as discussed
here to create transactions offline.
I agree it's not the most convenient way of doing things, but then again, I only needed to set this up once (no need to keep making any backups later on, just created a bunch of keys right away). Plus I only need to boot the USB flash drive whenever I need to move coins from my savings to my spending wallet. And it's absolutely, positively, most definitely EXTREMELY secure (up to the level of paranoia), which makes me sleep better