Hey sidg_vr_geek (nice username )
I am doing almost the same thing as you. I am reading the data off three MPU 9150. I found out that if I join the INT pins together (means all the mpus in my setup has only on interrupt on arduino, i.e. int 0) then the data will stop printing after a while. I thought it might help u if u face this problem. How I solved this issue, I made a function for mpu initialization (copy paste the mpu initialization steps from example) and then assign different interrupts and ISR to different mpu and physically attach different INT pin of mpus to different interrupts on arduino.
Yet I solve the serial HANG issue, I am still getting corrupt data from mpus, (it does not matter from which mpu).
Can u please explain how you solved you issue. I did not get where u said to read the FIFO unless it is empty ? :/
Thanks in advance. Hoping for a reply