Modifying the rendering could be a bit misleading as it would only influence the value shown in the UI but not store the initial value in the document.
We have also faced this issue multiple times now. In this case, the only solution we found is to do the initialisation in code in a saga/middleware. You could mark the fields that should be initialised with an annotation, then pick them out and fill them in the saga (after waiting for the document to be ready using waitForStateChange → documentLoaded).
I think it would be nice to have this as an A12 core feature since this seems like a common requirement. I have proposed initialising with expressions in A12-13865 (which is in review), I see there are also other tickets related to this requirement.