Максим!
Ну да, читать по диагонали — пытка. А ещё у получившейся конструкции довольно маленький запас для длинных расписаний, и это хорошо видно в средних и нижней правой ячейках. Я бы поставил всё, так чтобы максимально отжать воздух между модулями наружу — так у нас будет больше места для длинных расписаний и маршрутов. Например:
Длинный маршрут влезает:
Совсем длинный маршрут можно уместить в две колонки, отобрав немного ширины у расписания (и это не проблема, потому что у нас ещё полно места по вертикали):
А можно постановить, что так крупно писать маршрут ни к чему: всё равно придётся подойти, чтобы изучить подробно и найти нужную остановку. Это позволит нам увеличить расписание и слегка перераскидать остальное, чтобы модуль с номером автобуса накрывал и расписание, и маршрут. Больше порядка и Швейцарии:
Писать название остановки на каждом листе как будто ни зачем не нужно: оно и так написано на первом листе с перечислением всех маршрутов. Этот лист тоже просит перевёрстки, но это уже другая история.
А по поводу дизайна самого расписания Илья Бирман подбросил пару вечнозелёных ссылок и соображений:
Расписание МГИМО. При размещении расписаний важно учитывать, чтобы несколько человек могли одновременно читать их, не мешая друг другу.
Дизайн и генератор транспортных расписаний. Расписания общественного транспорта — давно устоявшийся формат. Его можно не переизобретать, а просто взять готовый и забрендировать под себя.
P. S. Это был совет о вёрстке и типографике в вебе. Хотите знать всё об интерлиньяжах, полях, отступах, кеглях, выравниваниях и модульных сетках? Присылайте вопросы.