Hello,
I am afraid this is not possible. Admin users need to have full control for the specific reason that they are the last kind of people (before a developer) that can fix anything in the system if a user screws up. This is more or less hardwired into the system and can't - better said shouldn't - be changed.
The usual way to deal with this is that the use of an admin account is declared an exception, i.e. no user should by default use an account that has admin privileges - only in the situations that actually require one. Access made with an admin account is logged via Auditing, so someone - on the suspicion that inappropriate access has taken place - can check what administrators have accessed. This is accompanied by a company policy that provides work guidlines and promises punitive measures for wrong-doing.
Regards
Axel