Offline State Estimation
In short, yes: the key phrase that you want to search on is optimal smoothing.
You didn't ask how to do it, and the &quot;how&quot; is chapter-length, in a good book about Kalman filtering.  So I'm not going to try to describe that.
In general hand-wavy terms, though, optimal smoothing takes into account that if you know both past and future values of a system output, then you can do a better job of estimating its state than if you just know past values.
So, some close study of optimal smoothers should get you the &quot;how&quot;.  As at least a partial benefit, you should find that the end effects that you see with filtfilt aren't as pronounced, because filtfilt uses a time-invariant filter run both directions, while an optimal smoother -- if done right -- adjusts its gains based on where in the vector it's doing its estimation.
Given that your system is nonlinear, you're going to have to do a bit of mathematical tap-dancing to make an extended (or unscented) optimal smoother, or you'll need to dig in the literature to find nonlinear optimal smoothing schemes.  I'm sure they're out there, they'll just be more interesting and obscure than optimal smoothers for linear systems.