I used to do a bunch of this stuff in engineering school, and later with stress and vibration test results.
Spurious data points are usually removed using statistical methods, most commonly with the Student T distribution, particularly if the order of the system is known.
Rather than keeping track of a range, you want to use the data stream to keep track of the standard deviation of the samples. Using your estimated standard deviation, and a choice of how "sure" you want to be that a given point is an outlier, you can use a simple formula to detect them.
This might get you down the right track:
Studentized ResidualsOn the other hand, if you don't have a statistics background, maybe not.
Here is a more friendly intro, with a link to a paper on the subject:
OutliersBest,
Jim