Что посоветуете для динамической загрузки JS и CSS файлов модулей?
посоветую отказаться от затеи динамической загрузки css.
Вообще все эти amd/commonjs не для динамической подгрузки модулей придумали, а для разделения проекта и явного указания зависимостей. Просто удобно на момент разработки. Хотя тогда уж лучше использовать ES6 + компиляцию в ES5.
Для JS - RequireJS
Для CSS подобный код в index.html:<script>
function createLink(src){
                var link = document.createElement("link");
                link.type = "text/css";
                link.rel = "stylesheet";
                link.href = src + '?v=' + SYSTEM.cssVersion;
                document.querySelector("head").appendChild(link);
            }

            createLink('css/main.css');
            createLink('vendor/select2/dist/css/select2.css');
</script>
Суть в том: в сам HTML вставляете  с CSS необходимым для отрисовки первой страницы, остальной CSS начнёт подгружаться только после полной отрисовки страницы - без блокировки рендеринга.