This code sets focus on the table if the cell that was clicked is not editable. Setting focus on the table is what causes it to move to the top of the page. Based on this code, I do not see any viable workaround.
I fixed my jumping table by setting autoHeightRows to -1 as previously described. I then wrapped the table in a panelGroupLayout and set an inlineStyle of height:55% !important. I believe that the tables jump since focusing the table row sets the table height to 100%. So fixing the height of the table will keep it from expanding when a row is clicked. Pretty hackish but I got it to work even on IE8.