We could stop it from interrupting any PPU writes with SEI and CLI. It might sound OK, unless there's a lot of writes.
But using sprite-DMA may be a problem, it ties the CPU up for 512 cycles. I don't think it would be interruptable. There might be a valid reason to use the $2004 register for once, heheh.