Resources committed exclusively to a _single_branch_ of the block chain in any fork are the key to any block chain security (including proof-of-stake) that doesn't immediately fail.
The 0@S problem is basically exploiting the lack of that property in the PoS systems so far implemented.
The only thing I can come up with that is limited in the way that committing it to a single branch would be meaningful, is transactions. And that's why I advocate transactions-as-proof-of-stake. A transaction would have to be committed to some particular block of the recent block chain, and would not be valid in any branch not including that block. In resolving conflicts between branches of a fork, you'd look at the relative fractions of the money supply used in transactions committed to each branch. That is, unspent txOuts that existed before the fork, spent in transactions committed to blocks after the fork. The result is that in a normally circulating economy, where txOuts are spent in combinations, will rapidly have stake representing close to the whole money supply. Whereas the guy who had 51% of the money supply at some point six years ago, can never make on his own a block chain in which more than 51% of the money supply has been spent since the fork.
It's not without its problems; While secure against the Nothing-at-Stake problem in the long run, it's very sensitive to big spends in the short run. Second, transactions committed to a losing branch of the fork, disappear instead of getting added into the winning branch. That combination opens up all kinds of games an attacker can play trying to get people to accept his spends and then make a big spend in a branch forked before the block the tx are committed to, 'unspending' his txOuts. Not too much unlike the double-spend attempts in a PoW system, but much more reliable if the attacker controls any significant fraction of the money supply.
In order to "smooth out" the unevenness of spending volume at least somewhat, you'd need long block times, to gather a bigger sample of transactions (smaller standard deviation in spending volume) into each block. And you need it to be pretty hard or pretty unlikely to be able to form a valid block whenever you want to, in order to limit short-term opportunities to make forks to play attack games with. Finally, ou'd need to have it very widely distributed among a group of people actively using it to make transactions instead of just holding. Getting to that point could take years and years.
Distribution, in particular, is key. Having a small group of initial holders and no way for anyone else to get any other than by buying it from them, would not set up a scenario in which any kind of PoS, including TaPoS, would be likely to be successful. So, if you're doing an initial Proof-of-Work mining phase, it should last for years, not days. And you shouldn't make initial distribution via sale or IPO; if you do that you're not going to get anybody other than speculators who will NOT be using it for daily transactions, and who therefore won't be contributing to the security of the leading chain.
TL:DR; Proof-of-Stake can work if you do it in a way that isn't a blatant scam.