Still many ways to do it but I would suggest the simplest is to convert the serial data to differential and use a twisted pair cable. At each receiver, convert differential back to simple serial. By sending the signal that way you make it relatively immune to both radiating and picking up interference.
The way I do it in a similar application is to use the inexpensive ADM488 (or MAX488) which is an 8-pin IC containing both a transmitter and receiver. You can use them at both ends, just ignore the transmitter half where only a receiver is needed. They have a single input you can connect directly to the '328 and drive two differential lines out. At the receiving end you connect the two differential inputs to the 488 and it produces a single output to the 89C51. One transmitter can drive up to 32 receivers at speeds up to 10M Bauds (quite a bit faster than you need!) over distances of more than 1Km. You do need to add ONE resistor to terminate the differential lines at the most distant receiver. I use inexpensive CAT5 networking cable, leaving the other 3 twisted pairs for other purposes. The data sheets for the MAX/ADM488 explain how to do it.
Brian.