@aclam The current alternative is to have a maximum number of dimensions and then index them based on a random variable. Every variable that shows up in the trace must have fixed shape due to PyMC constraints.
Here is one example of this for a multiple point change model: Google Colab