Digital low-pass filters; best practice application
I think a digital low-pass filter, applied after sampling, should be a good solution. One benefit of digital filtering is that you can obtain very sharp transition regions, and large rejection of out-of-band signals. The cost is relatively high computational complexity, in the sense that your processing code will execute many arithmetic operations.

Another benefit of digital filtering is that you can make use of a very large, well tested array of algorithms to design the filer, without necessarily understanding how they work. Obtaining the frequency response of a particular filter is very easy, so you can quickly evaluate if the filter meets your needs.

For illustration, this is how you would design and evaluate the filter in Matlab. I'll assume that the sampling frequency is 20 samples per second, and you want the cutoff frequency at 1 Hz.

% define frequencies:
fs = 20;
fn = fs/2;  % Nyquist frequency
fc = 1;     % cutoff frequency

% define the filter
b = fir1(100, fc/fn);  % filter order is 100; cutoff frequency is 1 Hz

% plot its frequency response
freqz(b);   % this command plots the filter's magnitude and phase responses.


The response obtained is:



You can see that the response is really nice: it is linear in the passband, and the rejection is around 60 dB to 80 dB out of band. Using this filter, though, requires around 100 multiplications and 100 additions per each processed sample.