This is pretty much an engineering question, rather than a mathematics one. But fortunately, this is basically already solved in many books like Farrell or Titterton. Bad thing is, the answer is rather long.
To give you a heads up:
1-Magnetometer measurements are rarely used in practice for Aided Navigation, their quality is usually way too poor to fuse directly in a Kalman Filter. They may have other uses that you might want to analyze separately.
2-INS devices, you shouldn't require the user to provide you with estimated acceleration (either linear or angular). Instead, IMU measurements (angular rate and linear acceleration) are generally used directly for propagation of states, with Kalman corrections being used for GPS measurements to avoid divergence.
3-Normally, what you should do when the rate of sensors do not match, is that you should propagate states at a base sample rate (say 10Hz), and depending on your implementation you may propagate covariance only between measurements or all the time. Once a measurement arrives, you perform the Kalman correction, updating your covariance and your state.