Currently we have “hacked” our system to hide some of the problems as we would like to avoid to maintain a custom build of UE4 (our project involves multiple companies, it would be problematic otherwise).
We spot UWorld::Tick() method in LevelTick.cpp as a good candidate where timers are updated. I think a proper solution should be to use the server timers as “authoritative” and let the clients smoothly update their internal timers to match the authoritative ones. But problems could arise if side-effects appear (e.g. in the physics simulation). A more deeply knowledge of UE4 networking details should be required for this task.