Resource management, if well implemented, has nothing to do with luck. It has to do with strategy.
Apparently I've never played a game where it has been well implemented. At the beginning of a game when money is usually in short supply, luck does play a roll in getting resources, unless merchants have a constant supply and gold is actually easy to get. In a game with no random encounters, luck makes even more of a difference.
Mid or late game resources are simply a money or time sink, since you can just buy more than you'd need for any individual area or dungeon and top off your supply when you return, or camp out at that one piece of swamp where you can find mandrake at midnight until you have a ton of it.
Probably you don't. Basically any decent RPG from the 90s has some element of resource management (mana, potions, food, whatever). Making the amount of resources available in a given moment proportionate to the player's need it's all but impossible.
If a spell is overpowered, that is a balance problem not a spam problem. If there are effective spells or combinations that you can consistently use (except where monster types / resistances or the environment would make them less effective) that is not a problem. That wouldn't prevent anyone from using or even preferring other spells, or making a completely different build.
The only way to prevent high level spells from being overpowered against low-level creatures is using level scaling, which - tank God - is out of the table here. As long as a Fire Armageddon is more powerful than a Fireball and a Fireball is more powerful than a Flare, you need a good reason for not casting Fire Armageddon against any ice spirit you meet in the game. So high level spell spam IS a problem.