I had this problem a while back except I kept hitting high. Ended up fudging my zero and scope hight, bc or adjustment size and all sorts of junk to try and make it fit. Ammo and time waisted, frustration and unreliable data.
Learned my lesson though, retired the chronograph and will never use it again.
.
Check my scope adjustments for true value right off the bat as SOP during initial zeroing session.
.
Do load development at long rang as a SOP now to test sd/es.
.
Drop tests based on SWAG reverse engineered threw calculator or "trajectory validation" threw the G7 to identify velocity after accuracy has bean locked in is now my SOP.
.
I personally believe that these procedures are the simplest, cheapest and most direct method of verifying everything and when it is done I already have the proof that it is dead on, because I based my calculations on reality with my individual system instead of basing my estimations on theory and still needing to go out and verify it.
Still using the modern ballistic calculator but simplifying the whole process and the equipment needed in order to get solid pre-verified dependable results.
.
This is the better way in my opinion, Keeping it simple and based on fact.
Can I swear on pain of death my bullet is leaving at 2800 vs 2823: No.
Can I swear on pain of death that under (X) conditions, my elevation adjustment will be dead on using my scope with my rifle and load: ABSOLUTELY.