Coblee has the answer, an elegant and simple fix...
"CT: Can you explain why Litecoin is ‘immune’ to the spam attack?
CL: The fix implemented in Litecoin is just to charge the sender a fee for each tiny output he creates. For example, in this specific attack, the sender is charged one fee for sending to 34 tiny outputs of 0.00001 BTC. With the fix, that fee would be 34 times as much. So it would cost the attacker a lot more to perform the spam attack. The concept is fairly simple: the sender should pay for each tiny output he/she creates."
This simple fix should really work in my opinion.
Let people pay for each and every output they create, no matter how tiny the output amount is. This is a sure-shot way of making sure it doesn't come cheap to spam the network.
And since the tiny outputs will be accompanied by sizable fees, miners too will have a reason to process such transactions without putting unnecessary delays on them.