Aus meiner Sicht sollte man globale Methoden und Variablen fast immer vermeiden, d.h. es sollte mindestens je Page eine "Klasse"/ein Objekt/ein Scope existieren.
Die Klassen bzw. Objekte sollten in separaten JS Dateien liegen, allerdings nur zur Entwicklungszeit. In der live-Anwendung sollten sie in eine physische Datei zusammengeführt sein (z.B. mit Bundling in ASP.NET).
Ein weiterer Punkt ist die Reduktion von anonymen Handlern und deren zu tiefe Verschachtelung.
Das sind erst einmal recht einfache Maßnahmen, die bei jeder Anwendungskomplexität förderlich sind.