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