Frankly, I never assume any provider will accommodate my allergies (even if they say so- it can be language, culture or just them trying to make sure we eat so we don't post a bad review...) so we prepare accordingly. Which generally means I get to eat with my eyes... and enjoy the experience through others. I use this same approach on board as well. It has served me well for decades of global travel.
Luckily, my travel companion can eat everything so will frequently end up with 'double portions'.
A good breakfast on the ship and plenty of fluids gets us through any tour with limited anxiety about whether the onshore food will cause issues. That is the benefit of cruising- no shortage of available options for sustenance with easy to ID ingredients where we need that option (grilled steak, rice, etc). It may mean missing out on nouvelle cuisine and other 'chef-ified' items but on balance we are happy with the trade off vs renting a villa and cooking our own food.