OK if that's how you want to play it that's fine, just remember you will get the rouge people who negate your wrapper code, so yeah it will happen, not an IF but a WHEN.
OK now what you going to do about the fragmentation that shrinking causes? You going to write a wrapper code to fix that too?
What are you actually fixing in shrinking? What you think you will fix 99% of the time the after remediation will just reclaim that space anyway