Создание единого репозитория для всего приложения, безусловно, не очень хорошая идея, поскольку оно станет очень большим и совершенно неуправляемым очень быстро.
Я бы посоветовал вам создать отдельные репозитории для каждой viewmodel и дополнительно сервисов для данных, которые используются несколькими viewmodels .
В вашем примере это будет означать, что у вас есть NewsSource служба , которая занимается извлечением и кэшированием новостей JSON и имеет все ваши репозитории которые нуждаются в том, чтобы данные извлекали их оттуда.