XDG Base Directory で互換性問題とうまくつきあう方法、まずは環境変数による部分的対応を目指すというものがある:
https://wiki.archlinux.org/index.php/XDG_Base_Directory_support#Partial
もうひとつ、 ~/.foo があったら互換性モードとしてそれを使い、 ~/.foo がなければ $XDG_CONFIG_HOME/foo とか $XDG_CACHE_HOME/foo とかを作成したり探しにいく、という方法もあるんだけど、こちらの方が楽ではあるか