Não há nada de errado em fazer isso. A outra maneira que eu fiz isso é muito sujo também, com um script, primeiro scp o perfil que você deseja executar, em seguida, ssh em, executá-lo e ficar conectado.
Portanto, coloque todas as configurações de perfil em um arquivo local .<local username>-<hostname>-init.sh
e execute o script abaixo para efetuar login no host remoto.
#!/bin/sh
[ $# -eq 0 ] && { echo "syntax: $0 <host> [<ssh-option>...]" 1>&2 ; exit 1 ; }
host=$1 ; shift # use any remaining args as ssh options
initfile=".$USER-'hostname'-init.sh"
scp -q ~/.ssh-init.sh "$host:/var/tmp/$initfile"
ssh -t "$@" $host "bash --rcfile /var/tmp/$initfile"