This is one of the reasons why attacks that do damage are better than buffs, because the buffs have short durations or are too specific. Haste is always useful though.

Casting before a fight begins just is not an option. You may get one off but they wil wear off in realtime before it goes turn based. Unless I am missing something, one spell and one spell only maybe a summons is the best bet I think...and it must be timed succinctly.

I also think that potions are pretty useless for the same reason. Healing is useful for sure, invisibility is a necessity ( but only in one part of the game) but the resistances are all too short of duration and too specific for just one attack type. Relying on something that is in finite and uncertain supply is poor planning. Spells and skills renew and can be used over and over without spending money on them. The resist all potions are good but again how often do I use them....rarely. Usually when I get to the point in a fight where the choice is to buff or use a potion to buff if I can attack in some way I do that instead or move.

Sell your potions and buy better items that enhance your characters, thats what I have been doing and I used to do the same with scrolls but not anymore, offensive scrolls and summoning and healing scrolls are great to make your fighter and rogue into Fighter-Magicusers or Rogue-Magicusers without spending any skill points on spell use. Yes it seems obvious but I can occcasionally be very dense and I suffer from 30 years of PnP roleplaying conventions and prejudices. My first 2 playthroughs I sold all scrolls.

I am sure others do it their way and it works and it could be exactly the opposite of what I do.