Realizing an flexible, but fault tolerant, infrared communication chain
IR signals bounce around : get attenuated, or occasionally reflected in unexpected ways. As you said, this has to be catered for.

If these devices are in a room, devices 2 and n-1 may both see the same signal from device 1 and respond at the same time : what happens then?

It seems to me that you will first need to discover devices and build a network, then structure messages to use the network.

For example:
stage 1) Network discovery. I assume (a) you know how many (n) is, (b) you can program variations into each individual device (c) each device can measure signal strength (or signal quality somehow).

Device 1 transmits a broadcast message. All receiving devices wait - a different time in each case to prevent collisions - and reply with the signal strengths. Some messages get back to it, others don't.

Device 1 now has a list of stations it can talk to reliably, sorted by 2-way signal quality, and which ones it can't reach. Call the strongest one "Device 2".

Now it asks Device 2 to do the same, and send back its list. This puts more load on Device 1 or the host computer to build the most efficient routes to each device, and fallbacks.

stage 2) Network use : Each message includes 2 addresses : the ultimate destination and the immediate target (usually Device 2, from Device 1). Only the immediate target will reply to the message, preventing collisions without needing the delays used in network discovery.