How to I avoid one player getting too strong by playing just to defend a small area or continent and only gaining territories just to obtain Risk cards to trade in for more armies.
Box him in and attack him elsewhere.
If he's boxed in, he can't gain territories around his base except by suffering heavy losses. Now he has to gain his Risk Card Territory elsewhere, where he's vulnerable. Whittle down the number of his territories, and soon he'll have to place some of his new armies outside his base to have a good chance of gaining a territory, which means those armies are not strengthening his base.
Convince the other players of the power of his tactics and the need to 'break his continent' before he 'runs away with the game'. Lead the coalition against his evil ways. Use this coalition to mask your own strategy, as you set yourself up to emerge most powerful from the ashes.
Risk is all about controlling the perceptions of the rest of the table.
Play with the rules variant (which is in the manual in at least some versions of RISK) that tones down the trade-ins for armies. Instead of the trade-ins escalating by 5 in the endgame, they simply go up by two every time (4, 6, 8, 10, 12, 14, 16...).
This makes the other ways of obtaining armies more relatively important and downplays the importance of the cards.
Force him to come towards you and leave the safety of his base. Then he's either forced to attack territory outside of his base if he hopes to continue to gain Risk Cards and grow his armies, or stop collecting risk cards altogether. Also, if you can gain and hold choke points on the map against him, you force him to seek those cards in other parts of the map. If he continues to become to powerful, seek an alliance with the other players to cut him down to size.