This ruins the game's objective that all players should be playing to win IMHO, not who the eventual winner *should be.
To reduce kingmaking, one suggestion is that when a player gets to 8 victory points, assuming you are playing to 10, only the resources they gain from the first trade of their roll may be played. Any resources gained from subsequent trade should be placed in front of them and not able to be used until their next roll. Also, set trade limits of 1:1, 2:1 or 3:2 and require the trader to use a port if they own one first. We have seen too many times in our games where 2 players gang up on the leader (which is fine) to prevent them from winning, only to have them keep giving the #2 player more resources to actually win. This ruins the game's objective that all players should be playing to win IMHO, not who the eventual winner *should be.