This idea implies that if the Oracle misbehaves, they'll lose some collateral. But how do you ever know that the Oracle misbehaved?
It's not always possible. In effect that's why you have Oracles, to produce decentralized consensus, where it is not possible to enforce through the block-chain.
If we assume that Oracles will never collude and take over 51%, it is possible to have other Oracles verify the data and slap the bad ones on the wrist.
However with your idea of randomizing and redistributing ownership, this might get even more stable.
Also if you consider that the position for an Oracle is a perpetual auction, you could have the ones waiting in line spank the bad ones as well.
Say you have 5 active oracles at a time (for simplicity only) and you sort them by the total they have deposited as collateral:
O1 | 35 BTC
O2 | 31 BTC
O3 | 27 BTC
O4 | 23 BTC
O5 | 16 BTC
------------- <-- CUT OFF NEXT GUYS ARE WAITING IN LINE TO TAKE THE POSITION AND COULD ALSO PLAY POLICE
O6 | 12 BTC
O7 | 11 BTC
etc.
So let's say O1 and O2 collude and O1 does something bad - then there is the court I mentioned, it gets decided in an off-the record chain, until a verdict is reached.
O3,O4,O5 can verify the same data and decide oh hell no O1 and O2 are lying - kick them out.
Scenario 2 which might even solve the 51%:
Once there is a problem detected by a single Oracle, say O7 detects O1 is being a bad actor, he starts investigation. Let's say during the investigation O2 and O3 collude and defend O1.
Since the oracles in line will also be allowed to vote, they may get the truth correctly even when 51% of the active oracles are colluding.
I will admit I don't have a concrete system that works, just random bits and pieces of the puzzle.
I think there is a way to make this work, but so far none of this is elegant and to my liking.