The new filter worked better than I expected in a live data situation. This combines two ideas:
1. Sample the data as fast as possible and periodically solve at a slower rate a more regular linear regression as of the current timestamp with all measurements since the last time that happened.
2. Combine this result with an exponentially weighted moving average. I set an alpha of 0.34 based on messing around in a spreadsheet.
This turns out to be a very nice improvement.