First, that's sort of a workaround. I don't understand why there is no system with flexible rendering control for cases where JSON is helpess (yeah, IModel/TESR is also clumsy and unobvious). However, speaking of the method you described, it's still impossible. I have a custom model that randomly picks one of six textures for each block side (the block can be attached to adjacent blocks); more than that, it has 3 different subtypes, so JSON system will be generating 3 * 2^6 * 6^6 = ~9M variants. Considering model baking time (and just logic), that's going to be processed for a long time. Transcluent textures will make it even worse (btw, not to mention manual json and texture files editing). I need a solution via IModel or whatever.
P.S. I already implemented dynamic textures and models picking.