Hi,
answer 1: not really, that's the simplest way (You could use UDP instead of TCP, but that's more or less the same).
answer 2: you don't reduce the random behaviour of the network, you study (and use) the appropriate statistical methods to read your data. Moreover, you probably do NOT have channel errors, you'll have collisions perhaps (yes, even with RTS/CTS).
T.