Try using the median or mode instead. Averaging multiple data points only works well when the data distribution is symmetrical around the true value, but the closer you get to the endpoints (black and white) the less true that assumption is. If a pixel's true value is 5, and you get some samples with values 0 to 10, and one with value 100 that outlier will not get compensated by an outlier in the opposite direction.
You could also average just the middle quantiles or similar, if you still want to average over several frames.