Markdown でヘッダレベルをいい感じに上げ下げするOperatorプラグインを作りました。
動画を見ていただくと、どのような動きをするのかわかると思います。

Operator とは
知らない方は、
などを読んでいただけるとなんとなく概要がつかめると思います。
Installation
NeoBundle を使用する場合は、以下コードを~/.vimrcに追記します。
NeoBundle 'kana/vim-operator-user' NeoBundle 'pocke/vim-operator-markdown'
そして、:NeoBundleInstallを実行します。
その他のプラグインマネージャを使用する場合も、同様にインストールすることが可能だと思います。
Usage
~/.vimrcで、以下のようなマッピングを定義します。
autocmd FileType markdown map <buffer>< <Plug>(operator-markdown-left) autocmd FileType markdown map <buffer>> <Plug>(operator-markdown-right)
そして、markdown で<<や>>などと入力すると、対応する行のヘッダレベルが変化します。
Settings
g:operator#markdown#force_header_underline というオプションが存在します。
デフォルトでは0ですが、以下のように~/.vimrc内で1にすることが出来ます。
let g:operator#markdown#force_header_underline = 1
このオプションが1になっていると、ヘッダレベルがh1, h2 の時、 #を使わずに=======, ------- を使用するようになります。

関連
以前にMarkdown用のTextObjectも作成したので、よろしければそちらもご覧ください