Como já foi dito, o SPI e o I2C podem ser usados em longas distâncias, desde que os resistores pull-up, as frequências do relógio e assim por diante.
As principais alternativas (que proporcionam melhor imunidade ao ruído) são RS485 e CAN . Ambos usam linhas diferenciais para minimizar problemas de ruído e são mais adequados para esse comprimento de transmissão de dados do que I2C ou SPI. No entanto, acho que muitos AVRs não vêm com periféricos CAN integrados, o que facilita o uso do CAN.
Eu diria que a coisa mais importante a considerar ao escolher um barramento é garantir que o protocolo usado para comunicação entre dispositivos inclua um CRC ou equivalente, para que você possa determinar se uma mensagem foi recebida corretamente (a CAN tem isso como parte do o pacote). Considerando isso, também é útil ter uma resposta do tipo ACK / NACK como parte do protocolo, para que uma mensagem corrompida possa ser retransmitida.