The way I do my battles, I first check to see what school they are then I arrange my deck accordingly. Another thing I do though is I cancel out spells in my deck that I know I'm probably going to not use in the battle. Just so I can increase my chance of getting the spell I want. However always have a back up spell just in case the spell you want to use fizzles. I hope this helps.
I have trained death and life so i have: Storm, ice, life, death, myth shield i believe. So try to shield against your enemies school and blade up then hit them with a dragon.
I've trained ice to ice wyvern, sun to colossal (you don't need to get the accuracy boosters to get the damage ones) and cloak, all the moon spells, and amplify, fortify, conviction, and empowerment for star.
A good strategy is when using dots, if you know the dot will kill the enemy, you can use that time to shield and/or heal up for the next fight. Another good strategy I used is blade, trap, shield, immolate. For the weakness spammers, never use the same wand as your school, as the wand will use your blades and traps. I recommend using the one of your opposite school (ice in fires case), that way it won't use any of the school-specific boosts.