If there is a event for rendering entities it is probably cleaner to do it that way, although it won't give me the control I have now and I'll have to copy + paste some vanilla code.
Maybe I just haven't found it, but I don't know a clean way to replace vanilla block completely. Using reflection you could replace the reference in the Blocks class, but at that point it's already been registered all over the place.
Anyway, I can understand that you say coremods are for advanced modders only and they have to figure things out themselves. I'll look into that. But actively making coremods painful, just for the sake of them being painful seems kind of pointless to me. Why have them, if you don't want anybody to use them?
Maybe it's my fault that I use them. Maybe I could do these things without them, but some things really cannot be done without them and I think they are a great way to give lots of power to modders, without having them edit base classes directly.
You already made access transformers available to non-coremods. Maybe you could to the same thing with ASM transformers.
And yes, I think I am important enough to insert a tiny call into a base class. I'm not sure if I'm important enough to replace a vanilla block entirely.