Rigging and control rig issue
The general idea is to build a new rig (let we call it NR) which will have all specs you need (orientations, dimensions, IK, ......) and all "joints" (bones heads) in the same place as your untouchable rig (by now called UR), then set a "copy rotation" constraint on every bone of the UR, so that the UR will exactly act as stated by the NR (use "local space" on the constraint options).

After you have performed the animation, if you want to export the act (I know you will want) you will have to select (in pose mode) all bones of the UR, and go to the pose menu - animation - bake action, check the all needed boxes (Only selected bones, Visual keying and Clear Constraints). This procedure will create a new action that can be exported and played on the UR without any type of constraint.

You can choose to build the NR as a new armature on its own or a new layer of the same UR armature.

Use the "Shift S" functions (cursor to selected and selection to cursor) to build the NR bones exactly in the same location of the UR heads bones, and uncheck the "deform" option of all NR bones.