Some people keep additional emergency clothes in their offices for just such occasions. These are generally people who have to deal with clients inthe course of the day and not just their regular co-workers. If you are a guy, sometimes just having a spare tie is all you need.
There are also stain remover sticks that you can keep in your desk. These can be used to help get the stain out at least somewhat as soon as you do it.
You could also refrain from eating things in the office that tend to stain like catsup. Or at least do so on days when you will have important meetings.
If you aren't someone who sees people outside your work group in the course of the day and you only do this occasionally, just mention it casually with a self-deprecating laugh at yourself at the start of the meeting.
Another thing to try is to dress in layers. If you spill something on the jacket or cardigan sweater or vest, you can take it off. If you spill something on the shirt, you can button the outer layer.
And remember that the problem is likely more noticeable to you than to others. I can really only specifically remember one time in my whole career when I truly noticed a stain on someone else which was after she spilled an entire cup of coffee on the skirt of a white suit just before (less than a minute) we went into a presentation that she was giving to a client we had not yet met. She just took off her jacket and held it in front of the skirt until she sat down and carried on as if nothing was the matter. Self confidence counts in these situations.