Get current StartInterval status from Launchd If a launchd job has a StartInterval of 600 and it's been "some time" since the plist was loaded.

How can one determine how much time remains until the next scheduled run?
It really depends on why you care (inherently, you shouldn't, or more likely, there's some better way to do it). It all comes down to your script being smarter. Drop a turd file or use the script to either defer until next run, or go into a holding pattern.