The transition from "ic/ich" to "I" did not happen all of a sudden; as the quoted Etymonline entry indicates, both forms coexisted for a period of time (and "ich"-like forms actually survived in certain spoken British dialects even into the modern English period).
Also, more pronunciations were involved than just [ik] and [ai]:
In many dialects of English, the k sound inherited from Proto-Germanic in the first-person singular pronoun had been replaced with /t͡ʃ/ (the "ch" sound of "each" or "which") because of palatalization. In fact, the dot over the C in the normalized Old English spelling "iċ" is a modern convention used by scholars to indicate that we reconstruct this word as having the sound /t͡ʃ/, rather than /k/, in the West Saxon dialect (which is kind of the "standard" reference dialect of Old English).
The diphthong [ai] developed via the Great Vowel Shift from earlier [iː] (a long monophthong), which may itself have come from earlier [iç] (a form pronounced with a final consonant something like the one in the modern German word "ich"). The pronunciation [ai] didn't just spring up in one step from [ik].
Things that cause changes in pronunciation
Generally sound changes are not "forced" on people, and they certainly don't require literacy. There are three main factors that are relevant here: sound laws, reduction, and leveling. All of these can cause pronunciation changes.
Sound laws (also called "regular sound changes") are generalizations that we can make about consistent, systematic ways that certain sounds have shifted within a language over time. One of the most well-known and important sound laws in English is the Great Vowel Shift.
Reduction is basically the weakening or loss of sounds: it often occurs in unstressed syllables and at the ends of words because it's harder to hear and to produce distinct sounds in these positions. "Function words" such as articles, prepositions, pronouns, and auxiliaries are often unstressed, and therefore prone to reduction. An example of reduction in Modern English is the pronunciation of what and was as /wət/ and /wəz/ in unstressed syllables—the vowel is reduced to the schwa sound /ə/. Consonants can also be reduced; consonant reduction is especially common in consonant clusters. One way consonants can be reduced is spirantization (a type of lenition) where a plosive sound becomes the corresponding fricative. An example of spirantization is the change of /k/ to /x/.
Leveling is a type of analogy; it occurs when speakers change one form of a word to make it more similar to another form. In American English, the stressed counterparts to /wət/ and /wəz/ are often pronounced /ˈwʌt/ and /ˈwʌz/ (rather than /ˈwɑt/ and /ˈwɑz/, as the spelling and etymology would suggest). These pronunciations result from a "re-stressing" of the weak forms; the vowel sound /ʌ/ is closer than /ɑ/ to /ə/. There are more examples of re-stressed words in this blog post by Piotr Gąsiorowski: The Secret Ways of Weak Forms: Here Comes a New ’Un
Analogy can also work the opposite way, changing the pronunciation of unstressed vowels to make them closer to the stressed vowel used in related words.
It starts with reduction
The word I seems to be descended from reduced forms of the pronoun ic/ich that occurred in unstressed positions. The unstressed pronunciation was then "re-stressed" and eventually replaced the original stressed pronunciation.
It's not totally clear when this reduction occurred. I may be descended from a pronunciation variant that dates back to Old English, or it may be the result of a sound change in Late Middle English that deleted /t͡ʃ/ after unstressed syllables. My main source for this answer is the Oxford English Dictionary (OED) so the majority of what I say reflects that particular viewpoint. But it seems there are some competing hypotheses; I briefly discuss one of them in the last section.
Old English iċ, reconstructed as /it͡ʃ/, became ich /ɪt͡ʃ/
In Old English (OE), the letters c and g could represent multiple pronunciations. Most commonly, they represented either velar plosives ([k] and [g] respectively) or palatal/palatalized consonants (something like [t͡ʃ] and [j], although the precise details aren’t certain).
As I said earlier, in modern transcriptions of Old English, we write a dot above the letters c or g to show when we’ve reconstructed this as a palatalized sound. So the spelling iċ actually represents the pronunciation /it͡ʃ/, not /ik/. Some dialects of Old English may have had forms with /k/, but it doesn’t seem like these forms were transmitted to Middle English. The Oxford English Dictionary (OED) says the forms with /k/ that exist in Middle English are probably due to Scandinavian influence, and that they did not survive as long as forms with /t͡ʃ/ (usually represented with the spelling ich).
A reduced OE pronunciation, reconstructed as /ix/, became I /aɪ/
The OED suggests that first person pronoun in Old English had a reduced pronunciation with /x/ that occurred in unstressed positions, especially before words starting with a consonant.
The modern English form I and [other forms without a final consonant sound] probably
result ultimately from Old English forms with lenition of /k/ to /x/ ,
as reflected by the (Northumbrian) form ih (and probably also by ig
and ich, although the latter may simply show an unusual spelling for
the velar plosive[...]). Although recorded only in
Northumbrian, this change was probably more widespread, and probably
occurred in positions of low stress. (See R. M. Hogg Gram. Old Eng.
(1992) I. §§7.52–3.) [...] However, in Middle English forms of the type
I occur only very rarely before a word beginning with a vowel until
the 14th cent., and it is likely that both the development and the
spread of forms of this type was at least reinforced by assimilatory
loss in such contexts as ich shal ‘I shall’.
This form is supposed to be the ancestor of Modern English I.
Here is how it would have developed. After the front vowel /i/, it is generally believed that Old English /x/ came to be realized as [ç], much as in the Modern Standard German pronunciation of ich. (Note: Old English [x] and [ç] are sometimes considered to be allophones of /h/). This is described in more detail at the following webpage: Features of Middle English phonology
The sound [ç] was regularly lost sometime in Late Middle English, but when it followed /i/ in a stressed syllable, the vowel was generally lengthened in compensation (so Old English [iç] developed to Late Middle English /iː/).
This process occurred before the Great Vowel Shift, so the resulting /iː/ was later diphthongized to /aɪ/, giving us the modern pronunciation you can see in words such as knight /naɪt/ (from Old English cniht /knixt/).
The OED says that at one point, Middle English probably had either a long or short vowel in forms like I depending on if they were stressed (/i/ in unstressed syllables, /iː/ in stressed syllables). Evidently, this distinction was eventually leveled, but in this case it's the descendent of the stressed form that was generalized in Modern English.
So to summarize, according to the OED, we have the following series of changes:
- The Proto-Germanic *k sound in this word developed to /x/ in Old English when the word was in an unstressed position, resulting in a form like /ix/
- Old English /ix/ developed to Late Middle English /i/ (in unstressed syllables) and it also developed a "re-stressed" form /iː/. Early on, these forms were mainly used before words that started with consonants, but they later became more widely used.
- Late Middle English /iː/ developed to Modern English /aɪ/. This form continued to become more and more widely used; rival pronunciations such as /ɪt͡ʃ/ eventually died out.
All of these forms were created by natural phonetic processes, such as reduction and sound laws: they aren’t based on spelling. It's not totally clear why one pronunciation wins out over the others at any given stage, but the idea of leveling helps explain why some variants expanded beyond their original conditioning environments (such as "unstressed position" or "stressed position") while other variants died out.
Other words that might show analogous changes
The sound /tʃ/ seems to have been lost after unstressed /i/ in some other words, such as every (Old English ǣfre ylc, Middle English everich) and the suffix -ly (Old English -lῑc, Middle English -lich(e), -lik(e)). In fact, the loss of /tʃ/ in unstressed syllables is described in terms of a sound law in The Origins and Development of the English Language, by John Algeo. Algeo also dates this change to Late Middle English, which would make it unnecessary to trace the form back to Old English /ix/. He explains the vowel length as the result of re-stressing the form i.
On the other hand, the OED prefers an alternate explanation for the loss of c in -ly: it attributes the change to "the influence of the Scandinavian -lig-."
Note: I haven't listed all of the variant spellings for each era; for example, the OED says Middle English spellings of every also include things like "ever ulc" and "evrilke."