Is their any equivalent flag to --downsample_to_fraction for GATK 4 (for example when running BaseRecalibrator)?
You can check the tool docs to see which available arguments there are. In GATK4, the tool docs include all possible arguments for each tool. In the case of BaseRecalibrator, there is no downsampling argument (I suspect because tool needs to see all possible bases at the site).
To downsample a bam, we now recommend running the Picard tool DownsampleBam (which you can use from within GATK4) to generate a downsampled file up front.
Thanks I've added this to my workflow