To your suggestions:
run deep object analysis and log info about structure
I cannot think of any easy options here. JBoss Marshalling has better diagnostics, but uses an incompatible stream format, so it is useless here. Long ago I wrote a tool to dump Java serialization data (purely structural—without doing any actual classloading), which could be revived and brought up to Java 8, but implementing the complete Object Serialization Stream Protocol is quite tedious.
(Also to use such a tool you would need to retain a copy of the InputStream being passed to ObjectInputStream for purposes of retroactive diagnosis, which adds some overhead.)
use Reflection for such operation
I spent some time playing with MultiClassLoaderSerializer.Input but found no way to obtain better diagnostics, even with reflection. There is simply no useful context available outside stack-allocated variables when resolveClass is called, and no other overridable methods which would yield anything of interest.
Print information about rejected classes into a separate file
Seems pointless. We already log all rejected classes. That is the most easily available information already.
if workdir is enabled
Remoting workdir is inapplicable here, since we are talking about the master.