Note that the problem is more common than just Gtk.
So for example some of the discussion around Xaw3d (before the release
of Emacs-21) is probably relevant as well.
In any case, given how widespread the problem is, it's clear that we
can't expect the toolkit to adapt to Emacs. And since nobody has found
a way yet to make Emacs DTRT, all we can do is provide various
workarounds, which is what we've done until now. But what I suggest is
that instead of each toolkit backend providing its own workaround, we
should implement the workarounds in the generic code and even implement
several of them and let the user choose which one suits him best.

Wouldn't that imply using just the features that the least able toolkit
provides? The native scrollbar does things that can't be done in Gtk+
for example (not just overscroll, keybindings as well).