Fair Player Trades
There's a few ways to make a trade system that avoids most abuse cases, so I'll just list out the general ideas:
1) Players from your starting lineup can never be traded. This is the easiest way to prevent smurf abuse.
2) Player trade requests can be made with mutual agreement, and then a neutral third party decides whether the trade is legitimate or not. For instance, there could be a system where any player can view a random trade, and +1 or -1 it's legitimacy. After it has a +5 net positive score for being legitimate and not lopsided or a -5 net negative score for being illegitimate, then the transaction goes through. Guessing correctly would let you acquire "trade points", which you need at least 5 of in order to make a trade (to promote people voting in the system).
3) An automated solution for the above is to estimate a ratio of market value for the value of certain stats and then only allowing trades that fall within a certain bounds of that ratio. For instance, right now ADs are not worth much compared to supports, so a 17 AD could not trade for a 17 support. However, by comparing the average sale price for different stats in the marketplace, one could determine that a 17 mid sells for about the same as a 14 support, and that trade would be allowed.
These are just a few ideas and not fully thought out; let me know what you think or if there are other systems that could work, or improvements that could be made to these suggestions.