именно в связи с названными вами причинами, курсы-семестры стали сейчас гораздо нужнее, чем общий курс зачётка для всех курсов одной специальности. Так как у каждого потока свой учебный план (различия не только в номерах семестров, но и в названиях некоторых дисциплин и факультативов и т.п.), то общая зачётка всем не подойдёт, а курс-семестр как раз может выступить в роли такой зачётки.
Вы можете сделать так.
Настройте курсы-семестры с короткими именами вида "шифр_специальности-номер_семестра". Зачислите студентов в эти курсы-семестры. Каждый семестр придётся перезачислять студентов. Если зачисляете их через csv, то там можно будет это делать, указывая колонку с именем курса, так что больших проблем не будет, за несколько минут можно обновить исходный файл в excel. Можно в каждый курс-семестр настроить самостоятельную запись и раз в полгода выдавать студентом пароль от очередного курса-семестра. Если у вас более сложная автоматизация, то будет своя специфика. Отчислять старых не нужно будет, так как они у вас, вроде бы, не должны терять доступа к пройденному, должны только приобретать доступ к новому.
Настройте по курсу-зачётке на каждую специальность и курс, с коротким именем вида "шифр_специальности-год_набора". В нём разместите учебный план в виде субкурсов для каждого из годов набора, так как он будет разный. В начале каждого нового года нужно будет копировать курс прошлого года для данной специальности, и, при необходимости, передвигать в нём дисциплины. Это займёт примерно (число направлений подготовки * 5 минут на курс) минут на копирование, без сверки с учебным планом.
В курсы зачётки зачислите студентов из курсов-зачёток с помощью метасвязей. Если через csv загружаете, то быстрее будет зачислять напрямую, указав название курса в исходном файле. Если через метасвязи, то каждые полгода потребуется добавлять в курсы-зачётки по одной новой метасвязи, и удалять по одной старой с номерами семестров. Лучше держать по ссылке на текущий и следующий семестр, а метасвязи менять в межсезонье, чтобы не нужно было одновременно менять зачисление студентов в семестр, и связь между семестром и зачёткой. Для четырёхгодичных бакалавров это займёт (число направлений подготовки * 4 курса * 1 минута / курс) минут каждые полгода, причём не разом, а можно растянуть на весь семестр.
А в учебные курсы студенты будут зачисляться через более-менее постоянные метасвязи с курсами-семестрами. Обновлять придется только там, где в учебных планах поменяются номера семестров с более высокого на более низкий (в остальных случая студенты уже всё равно будут иметь доступ). Если не будете отчислять студентов из курсов-семестров, то здесь будет достаточно по одной связи на курс, так как студенты для семестре N и выше будут копиться в курсе с соответствующим номером семестра. Если будете отчислять из семестров, то здесь потребуется изначально создать несколько метасвязей, по одной для текущего и каждого из последующих семестров.