I do not. In general, my personal workflow is to build models incrementally, adding desirable complications bit by bit. This allows me to nail down the more fundamental aspects of the model before adding/tweaking the more subtle components. It also allows me to detect things like sampling issues and to more directly associate such problems with specific modeling choices. In many cases, I could sit down a write a huge model immediately, but then it would be much more of a struggle (for me) to correctly diagnose and rectify any “soft” sampling problems (e.g., things run ok, but there are divergences, sampling is super slow, etc.).
It’s possible to programatically construct models or components of models. This function might give you some sense of how this can work and specifically addresses the centered/non-centered issue. You could certainly get away with something simpler, but even then you would have to decide whether such leg work would be worth it in your typical use cases.