You could try this:
every tick:
----scroll x to player.x
player y > scrolly + 100:
----scroll y to scrolly + 100*dt
player y < scrolly - 100:
----scroll y to scrolly - 100*dt
The numbers may need some tweaking, but that makes the screen scroll when the player goes 100 pixels from the center of the screen, so you essentially get a dead zone where no vertical scrolling occurs.
Another approach that doesn't have a dead zone, but is less jarring than scollto, is to always scroll toward the player at a speed proportional to the distance the player is from the center of the screen.
every tick:
----scroll to position: scrollx+(player.X-scrollx)*2*dt, scrolly+ (player.Y-scrolly)*2*dt
The numbers can be tweaked to adjust the responsiveness. As it is now it will scroll to exactly where the player is in half a second if the player is not moving.