Compensate for inaccuracy in software?

Yes, of course :-).
But in the controller software. Not the CAD nor the CAM.
The CAD design is ideal. And I think the CAM SW operations don’t deal with the specific machine errors.
My MaslowCNC machine has some small positionning errors. The best thing for me was to record a grid of x and y position errors on a few point of the workspace, then tell the controler to shift the router position to correct those errors.
That lies into the CNC controler and transparent to the CAM tool. Ground Control macros can be used to send a special parameter to the Maslow Arduino board. And the Arduino board can memorize the grid of errors. I did it on mine. I get sub-milimeter positioning error over the workspace if no side load is applied on the router bit.
That is becasue the only thing to deal now is that some areas of the maslow (bottom corners) cannot handle too much router bit force reaction because of chain sag. There you can use the CAM tool to layout the work in a way that you make the best use of the MaslowCNC workpsace.

Note: I can completely take out sag with the sag correction factor. Did you try tuning this on your maslow?