Yeah, i can think of a few ways.
The simplest is the one I developed before, you can check out pevpot's thread which is now defunct, but it had a provably fair scheme that was totally fair for both investors and players, and used the blockchain in a way that was robust against miners too. But since the method requires waiting on blocks, the UX is going to suck pretty hugely. But it might be worth it for huge bets (e.g. >100 btc). Maybe?
The other way to make it provably fair for investors, the workflow could be something like this:
1) User sends bet to the server
2) Server publishes that bet to investors
3) Investor with at least $BETPROFIT BTC in theier account accepts the bet, and sends a hash of a random number and seed they generated
4) Server locks user/investor balance for the amount and sends the server hash to the user
5) User records the hash, and then sends a client seed to the server
6) Server sends client seed to investor
7) Investor uses the client seed to know if they they won or lost, records it, and reveals their original random number and seed
![Cool](https://bitcointalk.org/Smileys/default/cool.gif)
That should be provably fair for both investors and users.
With a bit of scripting magic, I'm reasonably sure it's possible to make the above procedure not just provably fair, but actually completely trustless. I'll avoid saying too much, incase I stumble upon a bottle of amphetamines and get the energy to try commercialize it =)
That's similar to the way Contingency (the ETH platform BitcoinStrip linked to), kind of.
It would definitely work but I think it could be too slow for the players that are used to 10+ bets a second.