calculates initial timeout minus current milliseconds passed, so it always starts on the exact second