So I've decided to give a go to something different - if weather in Zermatt that day is bad, there's no reason for going there. With my requirement to get a rest in Geneve, arriving there on the late evening, I've thought of Milan - Chiasso - Luzerne. There is one connection - very early (damn! but giving so much time in Luzerne) - leaving from Porta Garibaldi, using S-Bahn, that's free.
But if something happens and I will have to board an EC train in Chiasso, it's free too? I'm using http://bahn.raildude.com
for connection searches, so no reservation icon there for that particular train.
Edit: and now i'm pretty sure these options are free.