First of all you should implement 9 DOF fusion algorithm with some very high speed MCU, to obtain attitude at high sample rate. These algorithm was implemented by Magdwick, think is the most used for those MEMS sensors, but there others DCM, Kalman,...some are better but have also more computational burden.
Then you should extrapolate the acceleration for every axis XYZ and integrate to get velocity, then again to get the position.
I had previously made integration of acceloremeter data and compared the results with high speed camera. The setup consisted of a running bench, high speed cameras and runner with 3 axis accelerometer with datalogger on gait, marker, cameras anlysis software that outputs 3D coordinates. Both logs were compared in Matlab.
The results were good, but not satisfying, because of contrifugal acceleartion during twisting,...etc. The sensor was 3 axis acceleorometer only. So the conclusion was, that you would need an attitude estimator aka IMU sensor and only then you can get filtered components.
Integration of acceleration leads to infinite velocity due to drift. My first preasumption was that mean velocity is zero since the subject didn't fly away. So I used filtfilt() in Matlab to subtract the mean value (moving average) from computed velocity, leaving only the dynamic change.
Integration of velocity also gives a runaway of position. 2nd assumption: the mean position is zero. Again subtract the moving average from integrator.
The camera and dataloger were not synced, the XTALs did not produce the exact frequency and sampling rates were slightly different. The signal had to be resampled in Matlab (manually).
Magdwick algo uses quaternions, which I don't know. Perhaps you can find a simple way to decompose the 3D attiude information and get only the true accel. over all axes. Another option is to use trigonometric functions, some MCUs like cortex M4 have some basic DSP instructions, for example CORDIC (Coordiate Rotation DIgital Computer).