First of all, let's distinguish prediction from causality. A model may be predictively accurate without correctly specifying causal relationships, or even attempting to specify causal relationships. For example, if $X$ causes $Y$, and $Y$ has little other variation, then you'llyou may be able to accurately predict $X$ using $Y$ although the casual relationship goes in the other direction. Conversely, a model that specifies causal relationships accurately may not be predictively accurate. For example, the model may be very complex and hence have its parameters readily overfit.
Now, how is the predictive accuracy of a model affected if an important variable is left out, as in the case of cricket health? As you note, it may perform worse than it would if it had access to the left-out variable. But this isn't a reason not to trust a predictive model. When you assess a predictive model (in the right way), you get an estimate of its predictive accuracy that already includes whatever problems might be reducing predictive accuracy, such as an omitted variable. The only scenario where you could worry that an obtained estimate of predictive accuracy is too optimistic because it fails to account for an omitted variable is where you've estimated the model's predictive accuracy on a dataset where the variable is constant and then applied the model to data where the variable is non-constant. And that's just one manifestation of the trouble with extrapolation.