On average, matching donations supposedly do increase charitable giving (though I want to see more rigorous research on this - tips are welcome). One criticism against them is, though, that they are "illusory" - that is, that the matching donor eventually donates the same amount whether smaller donors match their donations or not. That means that a dollar from a smaller donor doesn't actually cause the matcher to contribute more.
One way to make matching donations real, as opposed to illusory, is this. Suppose that the matching donor is indifferent between donating to two charities (e.g. Against Malaria Foundation and MIRI). At the same time, lots of small donors think that one of them is far better than the other. Also, suppose that the matching donor sets the terms so that it's virtually certain that their whole matching fund will be used up (this could be done, e.g. by making the matching ratio very favourable).
Under these conditions, it will make a difference whether a small donor contributes or not, since if you don't, chances are that your donation will be replaced by a donation to the other charity. That means that a dollar from you as a smaller donor on average does cause the matcher to contribute more to your favourite charity.
This suggest a more general strategy for leveraging charity contributions. You could set up a set of matching funds, to which small donors could contribute. These funds would be "disjunctive" - they would match contributions to, e.g. AMF or MIRI, Open Borders or MSF or The Humane League, etc. The funds would from time to time declare that they match any donations to their target charities, and supporters of the respective target charities would start competing, in effect, for the matching donations.
In the simplest system, only people who are more or less indifferent between the target charities would donate to the matching funds. A somewhat more complex system incentivizes people who prefer one of the target charities, A, to give to the matching fund. Under such a system, an "A-ear-marked" donation to the matching fund would increase the matching donations (e.g. from 1:1 to 3:2) to A, and decrease matching donations to the other target charities the matching fund supports. That will, in turn, incentivize more giving to A relative to the other target charities. It is important that such adjustments are done in the right way, though. If, e.g. supporters of A has contributed 70 % of the matching fund, and supporters of B 30 %, then roughly 70 % of the extra money the matching fund generates (thanks to additional donations) should go to A, and 30 % to B. (It could actually get even more complicated than that, but let us leave this thread here for now.)
If such a system of matching funds was set up, an important question would be: should you donate to a matching fund, or donate to a target charity, and get your donations matched by a matching fund? Suppose that you expect those running the matching funds to adjust the matching ratios so that any donation to them that is ear-marked for your favourite charity A means that all extra donations your donation generates will go to A. In other words, if each dollar to the matching fund generates X cents in extra donations, you giving an A-ear-marked donation will mean X more cents to A. Then your decision will depend on:*
1) The size of X.
2) Your opinion of the charities competing with A in various matching funds. The better you think they are, the less reason you have to donate directly to A (since then you care less about money not going to A).
3) Replaceability effects. If you don't donate to A, who will replace you? Someone donating to A, or to some other charity? The more likely you think it is that you will be replaced by another donor to A, the less reason you have to donate directly to A.
4) The matching fund's matching ratio Y.
Suppose, for instance, that X = .2, that you think that the competitors to A in a particular matching fund generate zero utility, and that the probability that your donation will be replaced by another A donor is 50 %. Then you should choose to contribute to the matching fund if Y < .4:1, and donate directly if Y > .4:1.
You could set up a whole stock exchange, where people could buy shares in matching funds, and make donations to charities that will be matched by matching funds. It's an interesting question what the average level of matching would be in such a system. The higher it would be, the more charitable giving it would presumably generate. Therefore, one should to increase that level beyond .4:1 (beyond which people will start donating to the target charity in our example), which is not very high. For instance, you could tweak the system in a way that incentivizes matching, or you could try to get large donors or even the government to exclusively give matching donations.
These complex issues are still a bit foggy to me, and I might have made some mistakes. Any comments are welcome. See also this text on the EA forum where a similar system involving the government as the matching donor is discussed. This is an instance of Moral Trade, a concept developed by Toby Ord.
* If you don't think that, your opinion of whether A will get more or less than X extra cents because of your donation is a fifth parameter to consider.