This transaction results in 6 outputs in total. Why did it end up with having 4 unspent outputs? I read this answer from another question, and wondering, could it be because the user actually chooses to distribute the spare change to 4 of the addresses he owns?
This is an exchange withdrawal, and presumably they are batching multiple user withdrawals into one transaction to reduce the overhead cost. In particular,
17A16QmavnUfCW11DAApiJxp7ARnxN5pGX belongs to Poloniex.
This is not uncommon, and many companies that must make frequent payments to multiple people will batch the payouts to reduce fees.
Most wallet software will not let you set multiple change addresses for a single transaction, but nothing prevents you from creating such a transaction manually at a protocol level.