Using copyreg extension registry seems a very easy way to reduce the size of pickles, there's even a range reserved to Zope:
https://github.com/python/cpython/blob/3.14/Lib/copyreg.py#L217
Is there a reason not to use it ?
I think this cannot be used for persistent classes, because only their state is pickled, but for non persistent classes such as DateTime.DateTime this looks like a very easy way to have smaller pickles.