Put together a list of all bets and send the winnings in a sendmany.
That would reduce the number of transactions a day and the size of the blockchain, I think.
And 30 seconds is still pretty fast IMO.
Future optimization of clients will allow disk space to be reclaimed after a transaction is spent (see chapter 7 http://bitcoin.org/bitcoin.pdf), so creating transactions that are hard to spend or never will be spent is bad.
The endgame for many gamblers will be to lose all their money and be stuck with a gambling wallet with hundreds of dust payments. By making the loser dust large enough that it can pay it's own minimum fee to send it, someone can spend the balance of a wallet - it might cost 0.1 BTC in fees to empty 0.11 BTC of dust, but that's better than 0.1 BTC in fees to send 0.0001 BTC of dust (deleting the wallet and starting over would be cheaper and easier).
If SD paid .0002 + .0005 fee instead of .0000001 + .0005 fee to losers, wallets of gamblers would not cost more to empty than their balance.