IMUs are not magic objects, but there are 4 differences:
1) the filtering algoritm and the method you use to compensate biases and drift of each sensors, including the feedback strategy you implement to handle the error propagation
2) the limitation of the math implementation, arm processor with 64bit floating point will work better than softfloat on avr8, more stable, less numeric error propagation
3) calibration method, in where the skilled experience is the most
4) how they are physically built, if the the magnetometer is shielded it suffers the less
ArduIMU v3 is sold with a firmware that is suffering more issues than putting freeIMU firmware on it. I got an ArduIMU v3 from spark fun and it is working not so well (yes, even if i have calibrated it), the hardware is quite similar to the freeIMU 3.5, but the firmware do the difference: freeIMU works better on the quite similar hardware !
There are other projects (even if most of them are commercial) with a different calibration method which seems to be more efficient and stable. The pololu IMU for example is much more stable: it's an IMU with arm MPU and comes with factory-calibrated to remove soft and hard iron distortions present in the enclosure. When integrated into the end-user system, additional calibration may be necessary to correct other magnetic field distortions. Magnetometer calibration can be performed using the CH Robotics Serial Interface software.http://www.pololu.com/catalog/product/1255
(yeah, it's so cool, but it costs 200 euro)
wandering if there are similar projects around the net in where we can grab their "secrets"
for example the FOX team seems to have a stable IMU and know how about how to calibrate and handle it: i have to study their hardware (i have seen analog IMU in their old quad copter) and their firmware.
also, there are papers around universities in where they discuss about using different magnetometers interpolating them in order to reduce errors and bad things.