Hmm, this is a bit of a long shot but if you want to keep the ISMs, there may be a way to help this within the shader using the Previous Frame Switch.
This method is used a lot to help fix TAA texture streaking. Instead of inputting the texture speed into the previous frame WPO, you could try using the object velocity (you could pass that in per-mesh as Custom Primitive Data).
Let me know if you end up trying this method out! Very curious to see if it works.