Gordon,
Come to think of it, you might like this better.
(defadvice search-forward (after view-context compile activate disable)
(if (< (count-lines (point) (window-end)) scroll-margin)
(recenter (- scroll-margin))))
--Greg