More than 127 Arduino working together

exorgroup:
Data may look like 6750|M-200|S100|R255255255 for every arduino slave

Baud rate - the fastest possible without data loss as data will be sent for every unit

This is 30 bytes of text but I assume the values are partly integers, and that | is used as separator.

assume 200 devices @30 bytes per second == 6000bytes /second = 65.000 baud

if the values are indeed integers you can send them binary and you do not need separators only a start and stop char.
written in binary format, using <> as start/stop chars
< ==> 1 byte
[6750] ==> 2 bytes
M ==> 1 byte
[-200] ==> 2 bytes
S ==> 1 byte
[100] ==> 1 byte
R ==> 1 byte
[255][255][255] ==> 3 bytes

==> 1 byte

OK there are assumptions made but it could be as less as 13 bytes,
so you can send 2-2.5x faster if you send the data as binary bits instead of text.

13 bytes x 200 devices = 3000bytes/second = 30Kbaud.

Please confirm the structure of the data packet. (fieldname and range per field)
e.g.
struct
{
int identifier;
byte RGB[3];
}