Não, não há. Sim, isso é um defeito de design.
Use o seguinte conteúdo em ~/.bash_profile :
if [ -e ~/.profile ]; then . ~/.profile; fi
if [[ -e ~/.bashrc && $- = *i* ]]; then . ~/.bashrc; fi
Tenha em atenção que o bash tem uma peculiaridade ainda mais estranha: quando é uma shell de início de sessão não interactivo e o processo pai é rshd ou sshd , bash sources ~/.bashrc (mas não ~/.bash_profile ou ~/.profile ) . Então você pode querer colocar isso no topo do seu .bashrc :
if [[ $- != *i* ]]; then return; fi
Veja também Diferença entre .bashrc e .bash_profile e Diferença entre o Shell de Login e o Shell de Não Login?