Or use generated blocks, like, everyone has to bid before the initial deposit has x confirmations. This could work nicely since new blocks aren't that predictable.
Or "the game ends as soon as there are x blocks without a deposit" - then the game can go on for a long time, but stops when people stop playing.
But the trust issue will stay there

I don't see the trust issue in that case. You don't know anything that we don't. Every player can see all the bets, and can decide to bet more or not, just like you can. We have to trust that you'll pay the winner, but we have to trust satoshidice to pay their winners too.
This article is related, has lots of maths, but may give you some ideas:
http://www.chapman.edu/ESI/wp/GeneralizedTullockContest-Sheremeta.pdf
See also:
http://en.wikipedia.org/wiki/All-pay_auction The pdf I'll read over when I'm more awake as right now it's a bit hard to understand.
I'll do something like that next: if the highest transaction is not outbid and gets six confirmations then that one wins.
a way to keep track of that since I can't be online 24h a day.