Es algo relacionado con el funcionamiento del cerebro humano. Estamos diseñados para ser "lo suficientemente buenos" para tareas que generalmente no requieren precisión de ingeniería. Hay una razón por la cual los casos con los que tenemos más problemas para tratar se llaman casos "extremos".
Probablemente la mejor manera de evitar errores fuera de uno es la encapsulación. Por ejemplo, en lugar de usar un bucle for que itera una colección por índice (de 0 a count - 1), use un bucle de estilo for-each con toda la lógica de dónde parar integrado en el enumerador. De esa forma, solo tiene que obtener los límites correctos una vez, al escribir el enumerador, en lugar de cada vez que recorre la colección.