Diese verwandten Phänomene lassen sich auf verschiedene Art beschreiben und erklären. Am üblichsten ist wohl ein phonotaktischer Ansatz, der mit historischen Entwicklungen und Zufällen der Graphematik in Verbindung gebracht wird, im Ergebnis also eine diachrone phonographische Theorie. Ich werde im Folgenden versuchen, die Orthographie rein aus der Schrift heraus zu erklären, was deutlich weniger verbreitet ist, aber m.W. gibt es bisher kein insgesamt befriedigendes Modell.
Die folgende Antwort ist noch nicht fertig und wird in den nächsten Tagen ergänzt und überarbeitet.
Verdoppelte Konsonantbuchstaben inkl. ck und tz (sowie qu und ng/nk) können im modernen deutschen Schriftsystem nur 1) am Ende eines Morphems/Wortes nach einem Vokalbuchstaben oder 2) zwischen zwei Kerngraphemen (Vokalbuchstaben: a, e, i, o, u, [y], ä, ö, ü, [é]) stehen. Das heißt, ein Randgraphem (Konsonant) kann nie vorausgehen und nur folgen, wenn er einem anderen Morphem angehört, insbesondere Flexionssuffixe wie in rann+te, sing+st oder setz+t. Bis weit ins 19. Jahrhundert gab es auch Schreibungen wie *Ammt (und *Ambt) oder *unnd.
Außerdem müssen die Vokalbuchstaben auf beiden Seiten innerhalb eines Morphems einfach sein, d.h. Digraphen für Diphthonge (ai, au, ei, eu, äu …), Verdoppelungen (aa, ee, oo vor r, l, t, (s, f) und ie zusätzlich vor b, d, g, ß) und h-Schreibungen (ah, eh, oh, uh, äh, öh, üh vor l, m, n, r, (t), ∅) sind dort ausgeschlossen, aber bspw. offizi+ell und re+ell erlaubt. In manchen Lehnwörtern, scheinbar v.a. aus dem Französischen, sind allerdings bestimmte Doppelvokalbuchstaben als „einfach“, bspw. in Chauffeur (→ Schofför) oder Sierra, oder die Doppelkonsonantbuchstaben als speziell anzusehen, bspw. in Medaille. Ansonsten findet sich immer eine Morphemgrenze innerhalb des scheinbaren Doppelbuchstaben, bspw. viel+leicht oder aus+sehen. Ist diese nicht (mehr) offensichtlich, kommt es vermehrt zu Fehlschreibungen wie *vieleicht.
Nur dort, wo ß in der Rechtschreibung des 20. Jahrhunderts oder ch die o.g. Restriktionen erfüllen, können sie ggf. als Ersatzschreibungen für ss bzw. hh angesehen werden (vgl. sehen ↔ Sicht, Vieh ↔ Viecher). Die Schweizer Praxis, alle ß durch ss zu ersetzen, verstößt daher gegen die gewachsene Graphotaktik des Deutschen!
Zwar ähnlich aber doch entscheidend anders verhält es sich übrigens mit pf, denn erstens kommen pp und ff ebenfalls vor und zweitens kann es auch am Morphemanfang (Pferd) sowie nach m und selten r stehen (Kampfkarpfen).
Die „langen“ Konsonantbuchstaben (nach [Primus] bzw. [Fuhrhop/Buchmann]) kommen jeweils in einer „weichen“ und einer „harten“ Variante vor (b, d, g, v/w vs. p, t, k, f), wobei erstere verdoppelt nicht am Wortende stehen kann, weswegen die entsprechenden Dreifachbuchstaben praktisch nicht vorkommen. Sie kommen stattdessen häufig vor End-e vor. Phonologisch würde dies mit der Auslautverhärtung erklärt werden.
Die Gruppe s, ß, z verhält sich (mitsamt sch und x sowie c) besonders.
Was ist nun also an gg/kk/ck, ss/zz/tz, ff/pf/vv/ww so besonders?
w / f (v)
Der Buchstabe w ist zwar historisch aus doppeltem v bzw. u entstanden, aber in der deutschen Orthographie wird er definitiv nicht wie ein Doppelbuchstabe behandelt! Wäre es anders, müssten wir bspw. *veiß, *schvarz, *zvei und *etva schreiben, da an den entsprechenden Stellen kein vv (und auch kein uu) vorkommen kann. Als Konsequenz aus dieser v-Verwendung müsste es dann auch *for (wie für) heißen.
Stattdessen ist w der reguläre „weiche“ Gegenpart zum „harten“ f, während v unter bestimmten Umständen ein Allograph für beide ist und zwar initial für f (vier, Vater, Vokalbuchstabe muss direkt folgen) und final für w (brav, naiv, außerdem wäre eigentlich *dov zu erwarten; Vokalbuchstabe muss direkt vorausgehen, daher nicht *fünv, *elv, *zwölv).
In Fremdwörtern kann v auch an anderen Stellen vorkommen.
Statt kw steht innerhalb eines Morphems stets qu (und nur initial oder medial ohne angrenzende Konsonantbuchstaben), wobei das q ausschließlich so vorkommt.
s / ß (z, x)
Man könnte phonographisch argumentieren, dass tz logisch sei, weil z allein schon /ts/ ausgesprochen wird, also nur der erste Teilkonsonant verdoppelt wird, aber erstens kann z allein gar nicht an denselben Stellen vorkommen und zweitens sollte das dann auch für x /ks/ gelten, aber dessen theoretische Verdoppelung kx oder cx existiert genauso wenig wie xx (während zz immerhin in Fremwörtern vorkommt), stattdessen gibt es regulär chs (und manchmal cks) zwischen Vokalen (wachsen, wechseln, drechseln, Ochse, Buchse, Büchse, aber Hexe und Nixe) sowie am Wortende (Fuchs, Luchs, Flachs, Dachs, Wachs vs. Klecks) neben dem seltenen einfachen x (Axt) und End-ks in Lehnwörtern mit Pluralwurzel (Koks, Keks).
Eisenberg führt das Vorhandensein von Doppelkonsonantbuchstaben übrigens, obwohl er klassisch phonographisch argumentiert, nicht auf Vokalkürze bzw. -gespanntheit zurück, sondern auf das Vorhandensein eines „Silbengelenks“ zumindest in manchen Wortformen des Flexionsparadigmas.
Wie üblich dürfen Schreibungen für Wörter aus geschlossenen Klassen abweichen, aber mir fällt kein Beispiel ein.
[Fuhrhop/Buchmann]:
[Neef]: