OK, so, a quick rundown:
- _msdcs is essentially where all those AD-critical SRV records are kept.
- All your servers which need SRV records should be registering and refreshing them via dynamic DNS. You're (hopefully) not building your SRV records by hand.
- The netlogon service performs DDNS refresh, with a according to this a default refresh frequency of 1 hour. But according to this, it refreshes every 24 hours - it's what I observe in the timestamps of my own SRV records as well.
- The default scavenging interval is 7 days. Scavenging removes any dynamic record whose timestamp is older than (todaysdate - scavengeinterval); those records would remain until deleted (either manually or by some other process like a DC demotion) if there were no scavenging. Scavenging does not touch static records (those you created by hand) unless you explicitly allow scavenging for the record.
So, keeping all this in mind, you should be fine with scavenging, as long as you are not scavenging more often than your records can refresh themselves. You can verify that your records really are refreshing themselves by taking a short look through the timestamps in whatever zone you are considering scavenging.
IMHO, scavenging is always a good idea, and yes this includes the _msdcs zone. If a DC stops refreshing its DNS records, scavenging will automatically remove those records and that's a good thing - you wouldn't want people resolving to broken DCs.
I consider the article Don't be afraid of DNS Scavenging. Just be patient. to be the canonical best practice for Windows DNS scavenging.