I want to use ~/ because it is convenient (and simple. and simple means less bugs), and enclose it in quotes because it is safe against spaces and dashes. Any way to have both?
Sim, é uma boa prática usar aspas duplas. Apenas não os coloque em torno do ~/ . Deixe essa parte sem aspas:
install dotfile ~/".dotfile"
Expansões de til e nomes de diretórios domésticos difíceis
A expansão ~ usa a variável HOME . Vamos criar um diretório com nome difícil e atribuí-lo a HOME e ver como o shell se comporta:
$ mkdir $'/tmp/spaces and\ttabs'
$ HOME=$'/tmp/spaces and\ttabs'
$ cd ~/
$ pwd
/tmp/spaces and tabs
Assim, funcionou corretamente.