Кажется, вы поняли базовую структуру, которую хотите, и исследовали некоторые альтернативы.
Первый проход моего чтения: у вас есть модель Документа, вероятно, с полиморфной ассоциацией с моделью Актива. Если подумать, документ - это просто тип актива, поэтому один может наследоваться от другого - возможно, наследование одной таблицы.
Отсюда, добавьте activ_as_versioned, чтобы иметь дело с ... ну, версионированием. Это также должно быть в состоянии дать вам различия между различными версиями, просто убедитесь, что вы записали user_id вместе с изменением.
Я не уверен, что Globalize или i18n помогут вам в этом, поскольку они более приспособлены для перевода самого веб-сайта с достаточно статичным содержанием, а не с высокодинамичными документами, такими как вы имеете дело. Я хотел бы оставить переводы для пользователей и использовать i18n для представления различных переводов самого веб-сайта.
Клонирование документа не должно быть слишком сложным - просто создайте новый документ и заполните информацию в нем. Вам, вероятно, понадобится поле cloned_from_id и для построения в модели собственной ссылочной has_many.
Ну, это мысли из головы.