For DMA-driven streams, I am already directly writing the Data Block into the .VGM file, and of course the sample rate as well. I did this not for optimization purposes, but simply because DOSBox fetches DMA data asynchronously, so it was the simplest approach. I did include one optimization: keep track of all samples that have been played in the capturing session, so that each time a DMA transfer is initiated, the sample to which the DMA controller's registers point to is compared against all previously played samples, and if a match is found, the Data Block is not output to the .VGM buffer again.
dacopt is therefore only needed to optimize .VGMs from games that play PCM using the direct method. But I may be able to detect within DOSBox that the sample is being written from within a Timer Interrupt Service Routine, and if so, could write the Timer frequency as the sampling rate as well, helping dacopt, as you mentioned. This of course imposes the assumption that only one sample is written during each invocation of the Timer Interrupt Service Routine, but that does not seem to be an unreasonable assumption.
So, what are the chances of SID support being added to .VGM?

The
previous discussion on the subject seems to have been inconclusive.