All they need is a two-way Bitcoin ATM in both countries and Western union is dead! Foreign workers feed fiat on one end, send Bitcoin to the family's address. Wait for a few confirmations. The family relay the coins to another ATM at home and cash is home within 2 hours (time for confirmations).
Some problems with this idea;
1. Bitcoin ATMs currently charge a lot. Two ATM transactions will cost more than a single WU transaction for most (not all) transactions
2. In remittance markets, the ATM in the sending country would constantly need to be emptied of local currency and loaded with Bitcoin, and in the receiving country it would need to be constantly loaded with local currency and emptied of Bitcoin. If you were operating this service in the US and Philippines (say) you would end up with a lot of cash PHP sitting in the Philippines that you would need to repatriate to the US (not easy for a lot of money) and convert to USD to load up the US ATMs. There isn't a lot of people in the Philippines sending wads of money to the US to counterbalance it. Try running a business that needs to get a few million out of the Philippines or Brazil or Argentina every single month. I can tell you with absolutely certainty that this is not easy.
With WU, the sending of the transaction is not what people pay for; it is maintaining local cash liquidity and converting the transaction to local cash... that's the hard part and the expensive part.
It is only naive people who think that Bitcoin can replace WU entirely. Bitcoin can certainly replace part of WU, and provides a neat way to transfer value trustlessly. But it's the local cash handling bit that is the hard part that WU and Moneygram get right.
And before you say "all we need is local businesses to accept BTC so that the recipients don't HAVE to convert to PHP!" yes I get it, we all get it. Easier to say than to do.