Idle does not work with Timer0

Is there a way to tell time.h to work with timer1?

No, because time.h doesn't do anything directly with timers. It relies on millis() operating correctly.