This probably doesn't answer your question, question about stopping Emacs scrolling past end-of-bufferquestion about stopping Emacs scrolling past end-of-buffer.
(setq next-line-add-newlines t)
The problem with this though is that mouse scroll is not going paste end-of-buffer, and you will end up with alot of empty lines in your files (pressing down arrows adds newlines, up arrow does not remove them).