The basic sampling of sensors should be interrupt driven, as well. The ADC ISR should read a sample, identify the read channel, put the sample into the appropriate circular queue, set the next channel to sample, and start sampling again.
This means that all the deglitching and averaging logic should be done elsewhere.
Again, as with motion control, any variable used by the ADC ISR need to be protected by disabling and reenabling the interrupt. Note that the duration in which interrupt is disabled should be relatively short, within tens of microseconds, at the most.