Actually there is more sense in using a 400 Volt capacitor in the position that it is in than you give credit.
When using Mosfets or IGBT you want them to work as a switch that switches fast between OFF and ON. You dont want the Gate voltage to linger somewhere halfway, making the MOSFET or IGBT to dissipate a lot of heat. Tou want it to be either OFF or ON on its RDSon.
With the capacitor as is in the given circuit, the only RCtime you have to worry about is that of the 100k resistor and the capacity of the tarnsistor.
For the average MOSFET that is in the range of 10pF. Hence your RC time being practically zero. Which means that the FET or IGBT will switch very fast.
Now lets see how that is with a 25uF capacitor where you say it should be. Then suddenly the picture is different. The RC time will be 2.5 seconds. Which means that it takes 2.5 seconds to get to 63% of its gate voltage. All that time the Transistor is not at RDSon but at a higher resistance, which translates in dissipating power -> heating up.
So I presume a bit more thought is gone in to that than you say.
Having said that, the 100uF probably could go down a bit, say 50, but I'd certainly keep it in the position it is,
The zener, as the author says is there just in case. Sure, you could leave it out, but it isnt a 'flaw'. I even see a circuit there with just the zener.
Coming to the 'resistor between the connection of R4/R5 and the optocoupler', I presume also here fast switching was the goal, you want that Voltage to go down fast.
Now if you put a capacitor there as you propose, yes chances are you will kill not only the Transistor but also the optocoupler so yes then you need a resistor, but then not only you are slow in charging but also in discharging -> more time spent outside RDSon -> heating up your MOSFET
5k6 instead of 6k8 ? Cosmetic
Stays on when Arduino is off? yeah I guess that is the design, but I guess you could put the optocoupler in series with the 100k.
regarding the discussion on using a TRIAC and do zerocross detection. Sure that works as well, but you will not be able to use PWM which seems to be the point of this circuit