How to read TTL sensor every exact time interval?

I'm not so sure you need to use interrupts at all. As long as you read the sensor in 10ms intervals, it doesn't matter exactly when its read (ie you can have a margin of error around the 10ms "tick" but the tick has to stay steady). For that, you can just check to see if it's time yet:

void loop() {
  static unsigned long prevgyrotime = 0;
  unsigned long currenttime = millis();
  if (currenttime - prevgyrotime > 10) {
    prevgyrotime = currenttime; // Don't use millis() here or you might get a (tiny) bit of drift
    // Read gyro
  }

  // Do other stuff
}

This will make sure that after 1 second, exactly 100 have taken place, and after 100 seconds exactly 10000 readings have taken place.