Currently I keep my entire ~/.bitcoin directory on an encrypted eCryptFS filesystem. However, loading the entire block DB from it is relatively slow, and due to issue #660 it is impossible to keep .bitcoin in plain and symlink wallet.dat/addr.dat from the private filesystem. I assume that symlinking blk*.dat would cause the same problems as in #660.
Hence this feature request: Allow storing the public data (blk*.dat, __db.*, database/log.*) in a separate directory from private data.
On Linux, $XDG_CACHE_HOME/Bitcoin (aka ~/.cache/Bitcoin/) would be a good choice for the block DB and related files, while the private data could go to $XDG_CONFIG_HOME/Bitcoin (aka ~/.config/Bitcoin). On Windows, AppData/Local/Bitcoin and AppData/Roaming/Bitcoin respectively. Those are only suggestions though; a simple ~/.bitcoin/private/ directory would be sufficient.