Имеет ли значение ID
отличительную характеристику, которая позволила бы вам определить разницу между ним и именем контроллера? Например, числовой? Если это так, вы можете установить ограничение для первого маршрута, чтобы оно совпадало только с идентификаторами. Это позволит другим запросам переходить ко второму (по умолчанию) маршруту.
routes.MapRoute(
"IdRoute",
"{id}",
new { controller = "home", action = "get" },
new { id = "\d+" } // match ids that consist of 1 or more digits
);
routes.MapRoute(
"Default",
new { controller = "home", action = "index", id = UrlParameter.Optional }
);