It's important, when dealing with verbs, for you to recognize which ones are regular and irregular. For regular verbs, there are patterns you can follow to conjugate them, what you call "rules". For irregular verbs, there is not such patterns.
The verb 召し上がる (meshiagaru) is a regular verb. To be precise, an u-dropping verb, also called u verbs. They're called u-dropping verbs because the first step to conjugate such verbs require you to drop the syllable u (meshiagar) and add something else. In this case, います.
Now, why います and not just ます? That's the pattern for u-dropping verbs that end in る. Nothing fancy: if its an u-dropping verb and it ends in る, drop u and add います to conjugate the verb to masu form.
Another way to look at this, as you've pointed out, just add ます to the stem form, also called pre-masu form. However, you would need to know the stem of the verb in advance.
The verb いらっしゃる (irassharu) is an irregular verb and, as I said, there's no pattern at all, like in english you have the verb sing, whose past form is sang instead of "singed". You just have to learn them off by heart! In short, there's no rule for you to follow.
Here's a table which exemplifies the conjugation patterns for regular verbs:
Recovered from Practice Makes Perfect Complete Japanese Grammar Book by Eriko Sato, page 39.