For the fiducials we previously worked on, the goals was to maximize error correction for the types of occlusions commonly on signs. Because most signs are vertical, there is a lower likely hood of a ton of snow on them. The more common occlusion is an edge occlusion from either a natural road feature, or other vehicles.
For snow that generally disrupts the sign fiducial, we had a few solutions. The first is that if fiducials are dense enough, then dead reckoning may be sufficient until the next fiducial is observerd. The second is to try and build different layers of data with different error correction capabilities. One system developed could relay a low number of bits from a far distance and reasonable error correction capability. The remaining bits were then much smaller and readable from up close. The thought being that if you are able to fully resolve a fiducial in one area then assuming an apiori map of fiducials, the first 16 to 24 bits of a 64 bit code is likely enough to accurately resolve location.