Put this in the category of blogging about a subject I don't know much about, but one of the worries about arming Syrian rebels is that the weapons will eventually fall into the wrong hands. My naive solution is to increase the odds that the donated weapons aren't durable enough to last much beyond the Syrian conflict or any other conflict when we're supporting one side.
For heavy weapons, having propellant and explosives that degrade fairly quickly over time doesn't sound all that difficult. For both heavy weapons and small arms, use metal parts that rust easily instead of being rust-proof, or maybe pre-stress and weaken components so that they fail after some amount of repeated use. I suppose this creates the risk that a machine gun might fail after two months of use instead of the intended year or so, but I bet they'd still be accepted by Syrian rebels.
Not a perfect solution, and the risk of blowback is still there, but it might help out in the right parts of the world without creating permanent additions to the global weapon supply. Especially given the weapons shipments are happening anyway.
On a related note, I think ammunition control may have better prospects of actually reducing violence in the US than gun control, and limiting the viability of ammunition could also help.
UPDATE: I like the suggestions in the comments to work degradation into the software for advanced weaponry, although I think it's one more way to cause degradation and not the sole solution.