Something as simple as a software review board, which places time estimates on a problem agreed on by a panel of at least 2 developers and then a process to check those estimations against actual results to find how far their estimation deviate from actuality across all developers, gives a fairly accurate picture of how long something should take and becomes more accurate over time. Further automation like linking the ticketing system to the SCM, so that when a branch is created for the issue the clock starts ticking and stops at checkin/smoke test, gives a pretty accurate picture of time spent on a task. Any developer that is deviating far below the low threshold is potentially wasting time and his/her work should be reviewed, as it is only an indicator that there may be a problem not conclusive proof.
I have worked remote for over 7 years, and currently reside in a very remote area for developers (Key West) and have no issue with remote development. Either a company has these process in place or I quickly put them in place. That or find other remote work as my only bad experiences have been with companies that do not have such measured in place. It's not a hard problem to solve one just needs to know the problem domain, most managers don't, so they just resort to the butts in seats management style and honestly without similar controls the same kind of time wasting can be employed, it just manifests itself differently but incompetent managers figure well they are here so work must be getting done.