**nagayama**さん
私も他の方がどのようにJSファイルの構成を考えているのか気になります。
個人的には、問題が発生したときに処理を追いやすい/切り分けしやすい構成、機能を追加・修正しやすい構成にすることを考えると運用するのが楽になると思います。
私の場合、案1と案2のハイブリッドパターンが多いですね。
・処理の起点となるJS ・・・ main.js
すべてのイベントはここに集約させています。
細々とした機能もここに記載することが多いです。
・共通処理用のJS ・・・ common.js
使い回せるような機能は共通の関数群として1ファイルにまとめています。
・量の多い処理用JS ・・・ functionN.js
一連の処理で何百行以上になるようなものは、それだけを1ファイルにしています。
(呼び出し元は基本的にmain.js)
main.jsの機能が多い場合は、機能用のJSファイルを新たに用意して外出しします。
機能用のJSファイルを「データに対する処理/デザインに対する処理」などで区分すれば、
「どこの処理を参照すべきか/どこに処理を追加すべきか」追いやすくなりそうです。