I just use an ExtendScript Socket from within IDS scripts to periodically hit a separate tcp server with status updates.
Or write status updates to a log file. Unfortunately everything is single-threaded, so if one operation is taking a long long time (like updating cross-references) there is not much you can do.
Or write status updates to a log file.
That's what I do on my side.
Writing to a log file works well as far as tracking progress. There is quite subtle art to automating IDS to go fast, and it completely depends on what sort of process you're doing as well as the size and characteristics of the InDesign file and its associated assets.