Integrating the accelerations twice to get displacements is equivalent to a high pass filter, without doing anything to the raw data. It multipliies a component with frequuency ##\omega## by ##1/\omega^2##.
Filtering the data in the time domain can be problematic if the filter introduces phase shifts in the different frequency components of the measured data. You can design finite impulse response (FIR) digital filters that don't introduce phase shifts, but unless there is a specific noise problem (e.g. vibration or electrical noise at a particular frequency that you want to remove) you probably don't need to do it at all.
A common problem with this sort of measurement is low frequency "drift" because the accelerometer readings are not exactly correct for zero acceleration. One way to fix that is do it empirically. If you know the start and end positions independent of the accelerometer data, add a constant acceleration that makes the end point of the graph correct, i.e. use the formulas ##v = at##, ##x = at^2/2## to estimate the "zero error acceleration" ##a##.
Trapeziod integration is probably as good as anything. It uses all the data without "inventing" anything extra, or throwing any information away.
Another practical tip is use the highest data sampling rate than you can, to capture rapid changes of acceleration as accurately as possible. Unfortunately there is usually a trade off between capturing the peak acceleration values without clipping, and getting accurate data when the accleration is low.
If you can do your experiment so the start and end positions are the same, you can enforce that by taking an FFT of all the data, and setting just the "zero frequency" Fourier coefficient to 0. You can then integrate the data in the frequency domain by dividing the fourer coefficients by ##i\omega## or ##\omega^2## before doing the inverse FFT, rather than doing the integration in the time domain with the trapezoidal rule.
