I actually started writing a program that would calculate the best exchange, so I have most of the partners and ratios already. It might not be too difficult to put as a flowchart somehow (though my graphics skills are rudimentary).
Another way to exchange miles (indirect): I suppose you could also buy stuff via milesmall, sell it on ebay, then buy miles via buymiles or the individual programs.