I understand the general principle in using absolute paths in non-interactive sessions, but the simple fact is that this isn't always an option, particularly when you're using third-party tools that make use of ssh as an underlying communications mechanism.
A prime example of this that I'm encountering at the moment is git. I have git installed from the standard Mac OS X package, in the path it defaults to: /usr/local/git/bin. If you try to use git to access a remote repo on another machine directly, using ssh-based authentication, it will fail with the following message:
$ git remote -v
remoteMachine me@remotemachine:path/to/remote/repo (fetch)
remoteMachine me@remotemachine:path/to/remote/repo (push)
$ git fetch remoteMachine
Password:
bash: git-upload-pack: command not found
fatal: The remote end hung up unexpectedly
Linking all of the git executables into /usr/bin of course fixed this issue, though that's not my favorite solution. I did try to add the following to ~/.ssh/environment:
PATH=/usr/local/git/bin:$PATH
But that didn't affect my non-interactive path. I poked through different ssh man pages to see if it was possible, but couldn't find anything. Editing ~/.bash_profile didn't help either. sshd seems to keep pretty strict control over the PATH value.