It's worth noting that I2C dates back a long ways, when we were still doing a lot of things like TTL, and weird asymmetric termination circuits were the norm. And it was under patent for a long time, so its development was stunted, and a lot of people used I2C peripherals by bit-banging GPIO pins with primitive code.
Virtually all SPI devices that I know of are CMOS with push-pull outputs and high-impedance inputs, which are much more friendly to work with. Until you try to drive the bus with two devices by accident. See my other comment about series resistors. I have a circuit right now that's operating a SPI bus with a 100 MHz clock on a small two-layer board and I'm getting away with it. A real engineer wouldn't allow this, but it's strictly for a research project.