I would first check to see how well your horses blanket fits. If you like the fit of the blanket, then you can buy a shoulder guard. Another alternative that I've seen lots of people do would be to sew some fleece on the inside of the blanket where it is causing irritation.
If your horse is getting blanket rubs, that usually means the blanket doesn't fit the horse. I would suggest getting a new blanket for your horse that fits him properly, or getting a chest guard if you don't want to buy a new blanket.