На чём я перейду, наконец, к тому, что мне лично кажется правильным объяснением. Или, по крайней мере, соответствующим всем наблюдаемым реакциям и их опробованным вариациям. Disclaimer: я не химик, за возможные ошибки не отвечаю.
Первым делом, конечно же, в смеси происходит реакция обмена. Я сознательно записываю её не в ионной, а в молекулярной форме, ибо так понятнее, хоть и не совсем корректно:
![$$\mathrm{CuSO_4 + 2NaCl \leftrightarrow CuCl_2 + Na_2SO_4}\qquad[1]$$ $$\mathrm{CuSO_4 + 2NaCl \leftrightarrow CuCl_2 + Na_2SO_4}\qquad[1]$$](https://dxdy-04.korotkov.co.uk/f/f/6/9/f6932f4d0d9978453edd920661231de482.png)
Косвенно это можно подтвердить, влив в смесь избыток

и получив интенсивно-зелёный раствор, окрашенный ионами

, которые не образовались бы без наличия

.
Дальше

частично диссоциирует и реагирует с водой:
![$$\mathrm{CuCl_2 + H_2O \leftrightarrow Cu(OH)Cl + H\,Cl}\qquad[2]$$ $$\mathrm{CuCl_2 + H_2O \leftrightarrow Cu(OH)Cl + H\,Cl}\qquad[2]$$](https://dxdy-03.korotkov.co.uk/f/a/6/b/a6b4bb022045011d99eb10c41d5612a282.png)
Реакции способствует то, что гидроксиды и гидроксохлориды меди плохо растворимы. Поэтому, хотя равновесие в целом смещено влево, небольшие количества

из правой части всё-таки присутствуют.
Однократная диссоциация (

), вероятно, протекает легче, чем полная (

), что объясняет, почему серная кислота не возникает аналогичным образом с простым

.
Следующий шаг прост. Крошечные количества

атакуют оксидную "шкурку" алюминия и растворяют её:
![$$\mathrm{Al_2O_3 + 6H\,Cl \to 2AlCl_3 + 3H_2O}\qquad[3]$$ $$\mathrm{Al_2O_3 + 6H\,Cl \to 2AlCl_3 + 3H_2O}\qquad[3]$$](https://dxdy-01.korotkov.co.uk/f/0/9/6/096ee7d156e3be4e6a6b7720cb96ccec82.png)
Отметим, что соляной кислоты (

) в системе мало и на растворения всего алюминия не хватит. Однако это не нужно. Потому что дальше "обнажённый" алюминий просто реагирует с водой напрямую:
![$$\mathrm{2Al + 6H_2O \to 2Al(OH)_3 + 3H_2}\qquad[4]$$ $$\mathrm{2Al + 6H_2O \to 2Al(OH)_3 + 3H_2}\qquad[4]$$](https://dxdy-01.korotkov.co.uk/f/4/e/c/4ec934f1bc985feda22ff2b7309120f382.png)
Именно здесь образуется нужный нам водород!
Параллельно с этим разворачиваются вторичные процессы, делающие балансировку реакции весьма затруднительной:
![$$\mathrm{2Al + 3Cu^{2+} \to 2Al^{3-} + 3Cu}\qquad[5]\quad\text{// Выпадение меди в осадок}$$ $$\mathrm{2Al + 3Cu^{2+} \to 2Al^{3-} + 3Cu}\qquad[5]\quad\text{// Выпадение меди в осадок}$$](https://dxdy-04.korotkov.co.uk/f/b/9/2/b92b7d6292d6efc996e2b67ba6b7de3582.png)
![$$\mathrm{2Al(OH)_3 + 3Cu^{2+} \to 3Cu(OH)_2 + 2Al^{3+}}\qquad[6]\quad\text{// Образование тёмного осадка медных гидроксидов}$$ $$\mathrm{2Al(OH)_3 + 3Cu^{2+} \to 3Cu(OH)_2 + 2Al^{3+}}\qquad[6]\quad\text{// Образование тёмного осадка медных гидроксидов}$$](https://dxdy-03.korotkov.co.uk/f/a/a/9/aa9bf5fa70bdb4025e898f668ce4b33a82.png)
![$$\mathrm{Al(OH)_3 + 3H\,Cl \to AlCl_3 + 3H_2O}\qquad[7]$$ $$\mathrm{Al(OH)_3 + 3H\,Cl \to AlCl_3 + 3H_2O}\qquad[7]$$](https://dxdy-04.korotkov.co.uk/f/3/f/8/3f89732c1a0ab2e1ba9124bdce3980da82.png)
// "Выедание"

вторичными продуктами, из-за чего процесс водородообразования замедляется до черепашьей скорости задолго до исчерпания реагентов
Почти наверняка тут упущены тонкие детали. Так, на шаге [2] может образовываться несколько разных гидроксохлоридов меди. А при реакции алюминия со смесью реагентов должен возникать целый спектр гидроксидов, гидроксохлоридов, и гидрированных хлоридов. Но всё это на итог уже мало влияет. Водород выделяется.