Кастрировать в любом возрасте - это слишком. Во-первых, есть слишком молодой для кастрации возраст, а есть и слишком пожилой, и даже не слишком пожилой, то есть, где-то после 5 лет риск заметно добавляется.
Обычно же решение принимается тогда, когда хозяин понимает, что "пора", а сигналы подает сам главный персонаж данного разговора. Если кот "плачет", кидается, начинает ходить в туалет, где попало, поведение заметно меняется, то это и есть то самое "пора", потому что постепенно все эти непослушания начинают закрепляться и превращаться в плохие привычки. Что касается того, что вдруг он начнет метить, то не во всех случаях кастрация потом поможет, хотя, думаю, в половине случаев все же можно успеть.