I don't really see how this would improve player movement prediction in general. Human players are likely to change movement directions all the time, and due to things like rocketjumps, teleporters and jumppads the prediction errors can become rather large.
The timespan between movement commands is rather small (consider cl_maxPackets 125 for each player), so any advanced but just slightly slower algorithm might have the tendency to slow down the entire game (since it's single threaded for good reasons).
(...)
Most problems that I've encountered with the current prediction code are due to network issues and as such not really the prediction's fault. I doubt that any other algorithm would handle them any better.
Thank you for those insights in the gamecode. Indeed, performance is necessary to process such necessary parts of the gameplay, and indeed that may be a problem in implementing a filter, but particle filters are known to be pretty spare on CPU usage, and at the same time pretty efficient (because the amount of computation is only relative to the most probable places, so there is space for optimization here).
When I say that those filters could enhance the interpolation, I mean the interpolation of positions, because this is pretty much the only thing we can predict. But potentially, filters, by using probabilities and continuous values, can be a lot more precise than the current interpolation engine, and could predict the movement of players for a lot more frames in case of a lag (of course, there are also limits here, but still I'm pretty sure it can be more effective than the current implementation).
And when I was talking about lagging players, I was talking about the other client-side, the players that are not lagging but are seeing another player lagging: instead of just seeing a player jerking around, such a filter could smooth a lot the movement with potentially a pretty good accuracy in its predictions, because it can model complex, non-linear movements.
What do you mean about the network issues affecting the prediction code? Have you got a precise example on hand?