Since you said to keep the ideas coming for the API. Maybe in the short term don’t sync activities for those users who haven’t logged in for a certain amount of time (exempting subscribers of course), basically in-active users. You could even on their homepage tell them that syncing has been paused for them due to inactivity and have them click a button to import their recent activities if they do come back.
On a different note my recent activity just imported Dallas DeVries's Activity on February 26, 2020 - CityStrides
but it thinks I completed none of the streets 31 progressed 0 completed instead of 26 progressed 5 completed.