Or try a simpler protocol. Send out the message, have the 15 units all ack it at preassigned time slots.
You've said 2000mS - I bet it could be done quicker.
Message goes out - do pattern X next. 50mS later unit 1 acks receiving it, then 2 at 100mS, then 3 at 150mS, etc, up to 15 at 750mS.
Each listens to see if everyone else responded, and if everyone got all 14 acks back from neighbors, they all start the next pattern at 1000mS.
This is doable, however if one (or more) don't ACK in time (or at all), then we have a problem. Possible solution is to continue that cycle over and over again, extending the change time each time, until everyone has responded. The other issue I foresee is that by having them all listening to one another, one can receive all 14 ACKs, while another received 13 only. So it now cycles through and tries again, and it the rest who did get all the ACKs are now waiting. That gets too complicated.
Or, message goes out do pattern X next. 50mS later unit 1 acks receiving it, then 2 at 100mS, then 3 at 150mS, etc, up to 15 at 750mS.
At 800mS, master decides that all 15 are responding and sends the "change now" message and they change together.
Who's to say that second message will be received by everyone? :)
Am sure lots of protocols can be worked up. I would think RF at fairly short range would be pretty reliable.
And that's the thing. The testing I've done, in-house, was to have the transmitting module in my office, and I walked down the hallway, around two corners, and into the bathroom with two receiving modules, about 20 feet away. 80% of the time, they received the signal. The other 20% I can clearly see that one module would react and the other never got the signal.
Now, the final product will be used outdoors, as I mentioned, in a parade. Where the wearers will be, probably no more than about 5 feet apart from each other. The transmitting module can potentially end up being 50-60 feet away from the last one in the row (unless I place that person in the middle of the rows.) I have to think about the fact that the modules will be on their backs (around their collars) and so they're not facing each other. I also have to consider what happens when they turn a corner and there are a few hundred spectators standing there. One module being out of sync with the rest will definitely stand out.
I'm thinking maybe Grumpy_Mike's idea might be better. If a receiver doesn't hear anything after a preset amount of time, it simply turns off the LED string and waits. This gives me one advantage: I can tell the transmitter to send out commands every X seconds. Have the timeouts on the receivers be X-5 seconds. This way, technically, they will all shut off for 5 seconds before receiving the next command. Then, if one of them doesn't come back on for the next cycle, so be it. At least they were all off at the same time before the next cycle. I think that might be less obvious than instantly switching from one pattern to the next and suddenly have one of them shut off.
I may also still try to have whichever receiver failed to receive its command, send out a request after that 5 second timeout period, and have the transmitter respond. Then again, maybe not ... too much trouble for a 60 minute parade, or 90 minute show afterwards.