There was a feature in a text editor I used to use (I think it was Brief) that selectively scrolled if the caret was near the top or bottom of the window. I’ll try and explain how it worked:
Effectively the window was split into top, middle and bottom areas. If [UpArrow] was pressed whilst in the top area or [DownArrow] was pressed whilst in the bottom area the text would scroll, moving the caret to the appropriate line but leaving it on the same window row. If the caret was near the top or the bottom of the buffer, preventing the text from scrolling, the behaviour would revert to normal behaviour. The top and bottom areas were the same size, but their size as a proportion of the overall window was configurable.
The advantage of this behaviour is that it allows the user to scroll up and down and still see the active line’s context, both above and below.
I have not found such a feature in ST. If others believe this would be useful, then it would be great to see it added.