You should be using API mode, which takes care of packet construction, error checking and "handshaking" packet retransmission until reception is successful. Lots and lots of info in the internet on how to do that. This is the best you can do -- nothing that you try by "rolling your own" will work better.
Radio communications are inherently unreliable and as the environment becomes noisier, or the receiver begins to go out of range of the transmitter, the packet transmission rate will go down because of retries. Eventually, transmissions will fail, as when your cell phone goes out of range of the towers.