Hmm, I suppose one could hook the SetAlpha call of the last line of the ScrollingMessageFrame.
No idea on how to get the last visible line however
EDIT: Or even better, check which lines are faded in and resize/fade the panel appropriately.
Another helpful AddOn might be
Chicchai.
Hook the SetHeight call on the appropriate chatframe and be done with it