link (Web Archive) me ajudou muito. Acabei usando root nas máquinas remotas, e também na minha máquina local (via sudo ).
A idéia é ter várias chaves e restringir as chaves a certos comandos. Por exemplo, eu configurei meu host remoto de uma maneira que não permite root login, mas permite executar um determinado comando (no meu caso eu acho que é rsync, eu tenho que admitir que eu usei o script validate-rsync como sugerido no documento vinculado sem pensar muito) se autenticado com chave pública. Então, mesmo que alguém tivesse acesso à minha conta root local, o não poderia logar diretamente (sim, ele talvez pudesse rsyncar arquivos corrompidos e outros, também corromper o allowed_keys e assim por diante).
No momento, acho que esse é o melhor compromisso entre usabilidade e segurança.