In a Typical Fantasy Setting, Use a Spiked Pavise
A Pavise is a large wooden shield with a spike on the bottom. Shields create distance between your body and the attack; so, not only does the shield stop the attack, but unlike armor, it prevents radiating injuries as well from when the shield itself gets hot/cold.
1: Fire. Wood is actually a great thermal resister. It takes just as much total heat to fully burn a given amount of wood as it does to melt iron; so, burning through an wooden shield quickly is about as hard as melting though several layers of plate armor. It also does not conduct heat well; so, while metal armor would heat up and burn you long before it melts, wood takes a lot more time to feel heat though. Furthermore, most medieval shields were also faced with hide and/or treated with vinegar which made them more fire resistant than untreated wood; so, even if a fire attack is hot enough to ignite wood normally, it would not be able to sustain a reaction against a treated wooden shield. So, fire attacks might scorch the surface of your shield, but not catch on fire or harm the user through it.
2: Ice. Most historical shields could stop a gladius quite well; so, ice bolts are not that big of a deal. As for the cold spray, again wood is a great thermal resister so you will not feel any of the cold on the other side of your shield unless it has a lot of time to build up. Plenty of time to close range and cut down the troublesome caster.
3: Wind: This is where the spike part of your Pavise comes in. A Pavise is designed to be stabbed into the ground making it a sort of mobile wall; so, you can plant your shield in the ground to brace against the force of wind attacks.
4: Electricity. By using the spike to brace for lighting attacks, you can ground your shield so that the electricity goes down through the shield instead of through your body.
5: Light: All the same protection you get from fire also applies to light except for the blinding part. Blinding light is hard to deal with using medieval technology. Many helmets were designed to be tilted just before an arrow or lance strike to protect the eyes; so, the same training may apply to light spells.
But in post-Maxwell European Victorian era...
This changes things. The Victorian Era had sighted, riffled firearms that will decimate your wand and staff armies. Depending on the exact decade, you may also be looking at cartaged ammo, Gatling guns, revolvers, etc. While a Pavise may still be practical against magic, the guns of this age will cut right through them, and any other armor you try to field. They will also have a better effective combat range than staffs because they are better designed to be aimed. The average crossbow engagement was fought at 40 meters, with a theoretical max range of 300 meters. A crossbow is also easier to aim than a stick without a stock or handle; so, more like a longbow, your staffs will likely have a hard time hitting anything more than 20 meters away without significant training. In contrast, by the mid-1800s most battles were fought at 60-100 meters, with weapons that had a theoretical max range of 900+ meters. Even without the modern niceties of gas repeating mechanisms, the adage remains that magic staffs are weapons of terror, and guns are weapons of war.
So to answer your question, the best defense in this era is a better offense.