position and scale of the model randomly changes on different actions/animations
Here are some points that will fix (or at least explain) a lot of your issues in my opinion. I've tried to be clear but I may come back to make it clearer:


Reorganize a bit your armature. Give it a root bone (a big bone that you create on the ground, at its feet level), then parent (Keep Offset option) the hips to the belly bone, and parent the belly to the root. Also parent all the IK targets/pole targets that you’ll create to this root. It will ease your work with all your armature animations as it gives it a static bone that you won't move in Pose mode most of the time.
In the Dopesheet/Action Editor mode, in the same action, don't mix keyframes of your armature (created in Object mode) with keyframes of the bones (created in Pose mode). Actually, most of the time you won't need to insert keyframes for your armature itself in Object mode, unless you want the whole object to move, along a road for example (example : bird flying, walk cycle, car...), or if you want to exceptionally scale it up or down for a reason or another, and anyway don't mix it with bones keyframes in the same action. If you want to scale your object up or down because you think it’s too small or big compared to the scene scale, just select the armature in Object mode and scale, don’t insert any keyframe, either in Object or in Pose Mode. In your case, if you check your actions in the Dopesheet, you’ll see the keyframe tracks for all your bones but sometimes you will also see the LocRotScale track for the whole armature. It means that in the same action you sometimes mixed keyframes of the whole armature in Object mode, and bones keyframes in Pose mode. Example: you’ll see a LocRotScale track for the action called Wake. Select and delete it with X. You’ll see that your character will become huge, perhaps because, to compensate the tiny size you’ve given to the whole armature with this keyframe you’ve created in Object mode, you had to scale up the bones, or something like that happened. To sum it up: If you need to move your whole armature in the scene, first make sure that it will be a new action in the Dopesheet, so that this whole armature animation won't be part and interfere with a bone animation, so close the action you were working on, or push it down in the NLA Editor if you want it to be played at the same time, then work on your object action.
In Pose mode, when you insert keyframe, do it for all the bones and with LocRotScale, this way you’ll be sure that when it plays another action, it won’t keep from the previous animation some values or some bone poses that you wouldn’t like to have for the new one. Not sure it is a problem here though.