Крутой вопрос... пришлось поковыряться.
http://clck.ru/9ERm3
Вообще это, конечно, синонимы. Во многих случаях они взаимозаменяемы и выражают глагол "делать".
На их синонимичность указывает словарь DUDEN:
одно из значений machen: etw. tun, unternehmen; sich mit etw. [Bestimmtem] beschäftigen: was willst du mit den alten Sachen m. (was hast du damit vor)?; ich weiß nicht [mehr], was ich noch m. soll (bin ratlos); dagegen kannst du nichts m. (nichts ausrichten); (© Duden - Deutsches Universalwörterbuch 2001)
Однако если есть две разные формы и тем более разные устойчивые выражения, то различия тоже должны быть... хотя бы в оттенках.
Для себя я очень давно сделал наблюдение, что tun имеет более абстрактное значение, чем machen.
Вот некоторые примеры для различения значений:
Man kann etwas tun oder lassen. Aber man macht immer irgendetwas. Man kann etwas für sich tun. Aber dafür muss man etwas machen. Um etwas in die Tat umzusetzen, muss man viele kleine Schritte machen.
3. Чрезмерное употребление этих глаголов, например, в сочинении сигнализирует о недостаточном словарном запасе (немецкоговорящего) студента.
Если в этих случаях есть возможность заменить tun другим смысловым глаголом, то лучше его заменить.
Er tut gut singen. (nicht gut) --> Er singt gut. (besser)
Etwas sauber machen --> putzen, reinigen, säubern
Kaffe in die Kanne tun --> gießen, schütteln, füllen
Пока как-то так...
Источники:
machen und tun
Forum DaF