What's the best way of training assasins?

I know going after rebel captains and army captains works, but do agents get retinues from staying in cities with Academies etc.? And for an untrained assasin, what's the best way of increasing his skills, sabotage or assasination?

Second question - what's the best way of stopping your armies (assuming no general) being bribed? Carrying a spy with them? Or a diplomat?