Commercially available cheap receivers have a variable latency (time between the signal reception to transmission of position). You may use a receiver with fixed latency.
Or you may delay the IMU data and wait for the GPS data before starting the processing through kalman filter.
Without advanced filtering it will not be possible. Looking for receiver Yo need to look at dealys at the output - developers put some crazy values like 20-100Hz data output but....processing time is something different than refresh frequency. Often output is just simple approximation of wht was obtained not a new fix. So just use gps fix as a next solution to the inertial aided solution.
I agree with Maciej. One easy technique out there is to simply update your inertial solution with the GPS solution, at some interval (several minutes, let's say). If the selected interval for GPS update is short enough, and the IMU reasonably good, the jump for every GPS update will be small. This scheme does work.
If the GPS becomes unavailable for a long time, then you will notice a significant glitch when it comes back. The assumption made is that the GPS fix is always better than the IMU-derived fix.