Taxing services like Western Union as punishment for them engaging in a legal business practice?  As far as I know, there isn't any law stating what they are doing is illegal, and they have no way of knowing if the person sending money to Mexico is legal or not, so unless you want to punish them for a perceived crime, you are going to have to see the law changed.

As for charging Mexico, well, good luck getting them to pay.

How about, instead, coming up with a solution that might work, rather than trying to come up with punitive measures that won't really do anything.