When you say the transmitting device varies a bit do you mean it changes from say 9600 to 4800 or is it just off by a percentage?

I might add that the internal OSC on many of the MCUs are not stable enough for serial comms. That might also be part of the problem.