Vimのシステムのランタイム・ディレクトリは$VIMRUNTIMEで拾えるけど、ユーザーのはない。なのでポータブルなvimrcを書けるようにWindowsとかでも$HOME/.vimに揃えてた。Vim 7.4から(だと思う)ユーザーのランタイム・ディレクトリにvimrcを置けるようになったので、そこに置けばvimrcから<sfile>を使って簡単に探せるようだ。
vimrcをVim 7.4で置けるようになったところに置き(先頭のドットはいらない)、vimrcに以下のように書いておく。
let $VIMRUNTIME_USER = expand('<sfile>:p:h')
これでvimrcやgvimrcで$VIMRUNTIME_USERを使って手軽にアクセスできる。行儀悪いけど環境変数にしておくと、setとかでも気軽に使えて良い。古い環境向けに$HOME/.vimにフォールバックさせておくとなお良さそう。
ベスト・プラクティスありそうな気がすると思って、netrwのNetrwHome()の実装とか見たらものすごくひどい感じだった……。