That was an interesting article - it clarified a lot of the things in my head (do you have an article like that for relationships ;)
The points about the size of a unified revisions table jumped out at me.
Storing the latest live revision of every item in a separate table would make a lot of qeries a lot simpler - perhaps it could even be an auto-updated denormalised table with a trigger on cr_revisions say cr_live_revisions...