I know that there are more irregular verbs than just this, but their changes are mostly euphonic and not really of any interest to me. What I would like to know is why 来る and する have developed the way they have. I don't want an answer like "It came from old Japanese" because that's obvious. I'd like to know exactly what caused them to become so irregular. I heard that する came from the verb す, which makes a lot of sense, but it doesn't explain される and させる (I think that they're just auxiliaries, but I'd like confirmation), and 来る is a complete mystery to me. I'm actually surprised this question hasn't been asked before.
They're both notable for the fact that in Classical Japanese they were part of a very small group of verbs to consist of a single kana: す and く (寝【ぬ】 is the only other one I've come across). As a result, the stem is a single consonant. As a result, when endings were added it was necessary to change the vowel within said single kana. When things were standardized later on 〜る was appended to them, but the underlying changes remained.
Looking at the classical patterns produces the following:
(Notes: where an ending is preceded by an asterisk, it indicates that the change affects the first kana in the word. If you need a primer in Classical Japanese to understand the explanations below, Wikipedia has a brief summary on it.)
TL;DR: す and く show a strong bias towards the same patterns as the precursors to the modern Type II verbs. す can always be matched to a similar pattern in at least one other verb group, whereas く stands alone when it uses こ. With the standardization of the language the 連体形 forms became the dictionary forms for them, however in practice they continue to use their classical stems depending on the function of the ending being applied.
未然形 Imperfective Form
下一段 is also -e, but that one is always -e, so I've left it out. す follows the same pattern as 下二段, which is the root for many of our modern Type II verbs. く, on the other hand, is unique in being the only one to use -o in this form.
連用形 Continuative Form
In this group, 下二段 changes to -e, and so doesn't follow the pattern for our irregulars. That said, several other groups make the same shift to -i. This includes two groups (上二段 and 上一段) that are significant contributors to the modern Type II group. Most importantly here is the 上一段 group, which also digs into the first character, even if it doesn't produce a visible change to it.
終止形 Terminal Form
All verbs in this one except the ラ変 group (あり、おり、はべり、and いますがり) end in -u. ラ変 end in -i.
連体形 Attributive Form
Here we see a degree of consistency across all relevant groupings. Once again we see a bias towards Type II behavior, since 四段 verbs are the only ones not to add る in this section.
已然形 Perfective Form
This section is pretty much like 連体形 above, just with a different vowel.
命令形 Imperative Form
Here we see an interesting alignment where 四段 aligns with one of the Type II precursor forms, while the other two Type II precursors match. す uses -eyo, playing along with the hybrid group. く once again stands alone, the same way it did in the 未然形 group (and using the same vowel, as well).