In line with best/recommended practice, I provide session-wide definitions e.g. $PATH etc., in my .profile, the shell rc file (.bashrc, kshrc, etc.) is left to define session specifics...
A user level that continues to overstate my experience :-))
While .profile and $HOME/bin are quite appropriate for an individual developer, a sysadmin faces a different situation. If the script is intended to for use by all users of the system, the traditional location is /usr/local/bin or maybe even /usr/local/sbin. If the file is required for boot, then /bin or /sbin might be called for. The caveat with .profile is that it's only invoked by an interactive shell.
When I have a script that I only want root to run, I'll usually toss the script in /root/bin unless the system uses / as root's home directory.
I'm not really disagreeing, except with the idea that there is a single best practice for all situations.
You're right - maybe I should have made it clearer that my post was aimed at a standard user (I no longer use root as the default login :-))) - self-evidently, root and for that matter, other system logins frequently have login scenarios peculiar to their circumstances.
A user level that continues to overstate my experience :-))