Pro tip - This is really important IMO!
Don't formulate your equations with numerical values for the constants like resistors or voltage references. Everything should be either a variable or a constant initially. Then do as much algebra as possible to find a simplified form BEFORE you put the numbers in.
So, for your first equation, I would have written ## I_1R1+I_cZ_c+I_3R_4+V_2-V_1=0##.
It may seem like more work at first, but there are many advantages:
1) Everything has a unique name. No one will be confuse as when you say 'what if we change the e3 resistor value?' It is common for circuits, like yours, to have several components with the same value.
2) If someone gives you the same circuit but with different values, you will likely have to start the analysis again at the beginning instead of simply recalculating the final result.
3) Algebraic simplifications with numerical values can obscure the more general result. Very often there are relationships between the circuit components that are hard to see if everything is shown as a specific number. For example, if I say the gain of an amplifier is ##Av=(1+\frac{R1}{R2})## you can immediately see that it is the ratio ##\frac{R1}{R2}## that matters more than just the value of ##R1##. In the other scenario the result of your calculation may be ##Av=11## which tells you nothing about that type of circuit, it's just your specific case.
4) This process will help you over the long run to recognize typical forms, common circuit elements, and help you partition circuits into simpler groups for analysis. You can often reuse your analytical work, perhaps by memorization, when you see a common circuit. For example, if you removed R1, C1, and R4 from your circuit I could simply write down the formula for the output voltage from memory because that is a very common application. I don't think I would have learned that if every time I solved it it was a mass of numbers in the equations.
5) Circuit analysis can often be simplified by approximations. For example ##1M\Omega + 4\Omega \approx 1M\Omega ##. This looks simple with the numerical values, but it doesn't show you when you can and can't simplify things and doesn't allow you to relate those simplifications back to the schematic that generated them.
6) Putting in numbers early destroys your ability to check your work with dimensional analysis. For example, if you tell me that your circuits time constant is ##\tau = \frac{C1C2}{C1+C2}⋅\frac{R1+R2}{R4}## I can immediately see that you are wrong, I don't even need to see the circuit or the equations. This has units of capacitance, not seconds as it should. [note that this assumes we are using the naming convention for circuit elements that includes the basic units, i.e. you never name a resistor ##C6##, or a voltage source ##I3##].
7) Putting the numbers in early is usually an irreversible process. It is hard to see the reasoning in a derivation or to go back to find and fix errors sometimes. Of course if you do need a numerical answer at any point you can just put the values in and work your calculator. You often can't do that in reverse.
8) In the real world, engineers have to check their own work to see if they made a mistake. Because everyone makes mistakes! There is no TA with a red pen. Your boss doesn't want to, and probably can't do it. If your boss does have to check everything you do, what value have you added to that company? Who gets laid off first? Several of the things I've previously mentioned make it hard to verify BY YOURSELF that you have done the analysis correctly. Always check your own work, this is a skill that isn't taught or practiced enough in schools IMO.