Tramp using ssh does not source .bash_profile / .profile
/bin/sh is a link to /bin/bash so bash should be the shell used by tramp.
Its not the same. When invoked as "sh", it will behave like sh and not bash, hence the bash specific rc/profile files (e.g. ~/.bash_profile, ~/.bashrc) won't be sourced. However ~/.profile will be read. Your problem might be you are using bash syntax to setup stuff in your ~/.profile.
This will not work:
export PATH=/some/path:$PATH
But this will:
PATH=/some/path:$PATH
export PATH