A good ecc algorithm for random errors? I know I will have a 10% error rate, but this errors are truly random. I was using solomon reed codes, but if a single bit in the code or parity word is bad the whole word becomes useless. If I have eight bytes of data and eight bytes of parity codes then 5 bit error can make my whole message bad. Is there a better algorithm for cases like this?

Edit:

I am trying to send packets of 128bit or 16bytes. 1/2 is data 1/2 is parity. I am having trouble figuring out how LDPC would be more beneficial. 

If I have the same 16bytes with 8 bytes of parity and 8 bytes of data how ldpc be better? For example suppose with my example I have 1 bit errors in 5 different bytes. This would make SR unable to decode my data. Would it be the same LDPC or would it be able to recover that. From would I understand from LDPC it would still be unable to decode it.
First, it is not true that an error in the parity portion of a Reed-Solomon code word renders the word useless.  RS codes can correct errors in their parity and their data.

Having said that, 10% errors is very high and I would not use a RS code in that situation.  In fact, in a situation with that many errors you will occasionally have > 50% errors just due to random distribution (random distribution is often "clumpy") of the errors.  No code you use will correct all of the errors all of the time.  Your system should be designed with that fact in mind.

I would use a big turbo code or LDPC code.  Either one will get you near optimal performance.  The code needs to be "big" in the sense of using large blocks to avoid the clumpiness problem noted above.  You will still get more errors on occasion, but (assuming a gaussian distribution) your tails will be MUCH smaller if you make your blocks large.

If your errors are bursty you can use interleaving to spread them out among multiple blocks.  If they aren't bursty, interleaving won't help any.