Im Prinzip sollte es ja nicht schwer sein mit den Voreinstellungen der Shells:
/etc/profile beherbergt die systemweiten Shell Voreinstellungen
~/.profile dagegen die lokalen
~/.bash_profile oder ~/.bash_login beinhalten die lokalen Einstellungen nur für eine bash login-shell
~/.bashrc dagegen die lokalen Einstellungen für eine allg. bash-shell (nicht-login).
Das schwierige ist, dass Solaris bspw. keine globale bashrc kennt, SuSE Linux aber schon, dort heisst Sie aber /etc/bash.bashrc(.local) – bei RedHat Linux wiederum /etc/bashrc
Oftmals werden diese zusätzlichen Dateien auch nur eingelesen, weil Sie andere Dateien (bspw. die lokalen Dateien) inkludieren.
Hat man die Notwendigkeit Skripte portabel zu schreiben, sollte man nur mit den zuerst genannten Arbeiten. Dazu hat man ja die Möglichkeit eine lokale .bashrc Datei im Skeleton Ordner für neue Homeverzeichnisse zu erstellen.