I know nothing about this technology but there are ways to get around similar issues. For example, twisted pair cables encode data as the DIFFERENCE between the two signals as those signals should be affected by the same noise sources. They could also transmit multiple redundant flows and error correct on the other side with a voting protocol or checksumming.
The differential signalling only helps if the noise offsets both signals in the same direction though. If it just attenuates (which fog for example will do to optical signals), it won’t help you. And the other method you described could work (depending on the SNR of course, at some point effectively no signal will come through the fog) but will lower data rate.