Accessing two i2c devices over 2 different channels simultaneously

One or two busses does not matter, it is the same waiting when using the Wire library. It is never executed at the same time. In most cases it is no problem to wait a millisecond a number of times per second.

It is the same for the SPI bus. They are not run simultaneously.

Arduino was designed by a student. It is ment for easy prototyping and it is easy to use and it is to make a smooth start to learn programming. That turned out to be very successful.

Arduino was not designed by a team of software engineers with decades of experience with event driven realtime preemtive multitasking software.

You don't have to use Arduino. With the Atmel Studio you can write your own code.

Which sensor(s) do you use and what is it for ? A common mistake is when someone has code with a lot of delay(), either in the sketch or in libraries, and tries all kind of weird solutions instead of removing all the delay(). For a fast responding Arduino, avoid the delay() and don't use NeoPixel, FastLED, DHT, or OneWire libraries. Perhaps you should avoid the SD memory card library as well, the Arduino does not have a hardware controller for that, everything is done in software.
You have not shown us any code, therefor I wonder what your code looks like.