Yes, I understand you. Right now, the extrapolated points are (X extrapolated, O measured):
XOOOX
OOOOO
OOOOO
OOOOO
XOOOX
So I assume that the X's are either the average of the two O's next to them or a linear extrapolation.
With three X's the thing would look like this:
XXOXX
XOOOX
OOOOO
XOOOX
XXOXX
And you run into problems extrapolating the extra X's in the corner, as you got no clear extrapolation values for that, right? The other X's can again be either averages of two O's next to them or linear extrapolations. But you will never need the corner X's (in contrast to the first example), as the print head will never be able to move to a position where these values would be needed.
What I am suggesting is to just extrapolate "one additional X" in every corner, so:
XOX
XOOOX
OOOOO
XOOOX
XOX
That is sufficient for every position the hot end might move to - you are able to calculate the height correction via the four nearest points.
No? Yes? Maybe? :)