Well, that bug is actually resolved and there is no way to do it much better.
That whole iobuf caching is a mess and we should remove it. Whoever this requires major changes in the packet parsing code and thus we leave this for > gnupg 2.0.