There is a lot packed in that question. I see two options:
-
The model/inference goal is theoretically fine but your data is too noisy and it allows for invalid parameters, in which case you might want to make your prior smarter / in line with your prior knowledge (for example regardless of whether it makes sense to model our data with a Normal distribution or not, there is no scenario in which it would make sense to allow for negative standard deviations) or get more data.
-
Your zero parameter is relevant to your model/inference goal and its telling you that things are not working as expected. In this case you should not try to change the model just so that it now works and gives nice answers (since you might be biasing it).
I think more context is needed to help disambiguate between options 1. and 2.