There are at least two things that could be done to solve Mexico's drug war given that pure enforcement is not working. Unfortunately, neither seems particularly feasible.
On the hand, we could try development. That is, we could try to boost Mexico's economy to the extent that there would be plenty of jobs that would be more attractive than drug trafficking. The problem with this is that it would surely take a huge amount of money to do this and it is not clear that anyone knows for sure how to promote rapid and sustainable growth in an economy.
On the other hand, we could try legalization. If drugs were legal in the United States and in Mexico, drug trafficking would no longer be done by criminal groups. Instead, legitimate companies would come to dominate the drug trade. However, it seems very unlikely that either country's citizens would be willing to accept legalization of all drugs any time soon.
Therefore, it is very hard to know what can actually be done. If there were a simple solution, it would likely have been taken by now.
American citizens should realize that they themselves are largely responsible for the drug wars because they are the principal consumers of illegal drugs. Each individual American should ask himself or herself what he or she could do personally to ameliorate the situation. Each individual could help by refusing to use illegal drugs and by refusing to view them with a sophisticated, tolerant, conspiratorial attitude. Most of these drugs destroy people's lives, destroy families, create all kinds of criminal behavior. There is nothing good about them, but they bring huge profits to those who deal in them. The American government could possibly do something to reduce drug trafficking by urging its citizens to consider the harm it is doing to them and to our country. We have plenty of media outlets--including the nation's schools--to get the message out to everybody.