Regarding scrolling, I just have a keybind which dumps the scrollback buffer into vim in a new window. Works great for copying or searching things.
For me, customized Vim search is just miles ahead of everything else so I prefer that (not just for the search, but also to open files with gF, etc.).
I also have a couple binds in Vim to deal with tmux:
vnoremap <leader>ty "ty:call system('tmux loadb -', getreg("@t"))<cr>
nnoremap <leader>ty "tyiw:call system('tmux loadb -', getreg("@t"))<cr>
nnoremap <leader>tp :let @t=system('tmux showb')<cr>"tP