One solution would just be to go back to including those elements in the build... This just goes back to hiding the tech debt in DIB though. I think for the overcloud-full element and the puppet-modules element, this is probably the way to go.
For os-collect-config, and sahara, those should be fixed in the respective packaging.
https://github.com/redhat-openstack/ansible-role-tripleo-image-build/blob/master/templates/dib-workaround-default.sh.j2 is some technical debt that we should try to pay off in order to make this more attractive to upstream TripleO.
One solution would just be to go back to including those elements in the build... This just goes back to hiding the tech debt in DIB though. I think for the overcloud-full element and the puppet-modules element, this is probably the way to go.
For os-collect-config, and sahara, those should be fixed in the respective packaging.