The problem isn't limited to just foods in my opinion. The majority of consumables feels pretty useless right now. If you want the benefit of a consumable like a fire resistance potion or a magic armor potion you'll want to drink it before the battle starts. But then the duration starts ticking down immediately which means that you have to engage right after consuming it or the potion will only be effective for 1 or 2 turns (or worse, run out before the battle even starts). This also means you only have time to consume one or two items on a single party member if you want the effects to last for any decent amount of time in battle.

The alternative is consuming these items in the middle of battle, which feels very wasteful. Besides health and invisibility potions few people are going to waste the AP on consumables when they could attack/move/use a skill instead (except for very specific circumstances).

My solution would be to make it so the effect of consumables like Elemental resistance and other potions last for the full duration of an encounter if taken before a fight. Food should probably last for several encounters and for a long time outside of battle as well and even then I'm not sure if the effects are worthwhile. Currently with the "Five-star-Dinner" talent the "Dinner" food gives a one time heal of 30% and an attribute boost of 2 strength, which is a pretty insignificant attribute boost even in the first act. I'd boost the attribute gains but make it impossible to eat food during battle (doesn't make much sense for someone to dine on a pie in the middle of a fight to begin with). But if you forbid eating during battle then you should probably replace all the one-time health restoration effects from food as well, since the Bedroll has made healing from food redundant already.