Как упростить компиляцию и запуск?
Параметром java передаётся не имя файла, а имя класса. JVM как-то должна понять, где этот класс искать, для этого classpath и указывается. Можно конечно определить переменную окружения classpath, чтобы не указывать ключ в командной строке, но это считается плохой практикой.
Любые хотелки по способу запуска приложений с неудобными правилами решаются своими скриптами, твое решается обычным 'батником', назови его myjavac и пропиши в нем любую логику (или тупо возьми make, он прост и универсален).

Правильно - пользоваться готовыми системами сборки, предоставляемые IDE или тем чем пользуется народ. Сейчас на ходу gradle - идеологически оно строится на принципах устаревших maven (репозитарий пакетов библиотек и система контроля за зависимостями) и еще более старого ant (это что то типа продвинутого make но на xml)