IMU fusion data rate
With respect to questions 1-3:
According to the datasheet, this really is three completely independent sensors that happen to be in the same package, and there's no way to synchronize their sampling.
You have a couple of choices with this kind of sensor.
The first choice would be to timestamp each new sensor reading, and run the update algorithm as soon as new data is available, using the Δt between the previous update and the current sample's timestamp. This can be tricky to implement, and is recommended only if you really need sub-sample resolution in your fused data stream.
The second choice is to asynchronously re-sample all of the input data to a common sample rate and run your update at that common rate. There are a number of different interpolation algorithms you could use for resampling, but by far the simplest (and lowest latency) is the &quot;zero-order hold&quot; — you simply use the latest available data from each sensor channel at the time that the update runs.
On question 4, the bandwidth for each sensor should be set to the bandwidth you care about in your application. Higher is generally better, but at the cost of increased CPU load to process all of the updates.