First thing first. Heat problem occurs when you have overlapping faces or your vertices are 2 close together for the size of the bones.
Clean up Mesh: Select mesh in 3D Viewport. In object mode press Alt+p->clear parent. Press Alt+p->Clear Parent Inverse. Tab into edit mode, press A to select all, and press ctrl+G->Remove all groups. Make sure it’s remove all groups and not remove from all groups. This will delete all vertex groups assigned to this mesh. Tab back to object mode. Ctrl+a->Rotation and scale. You can do all transforms and this is better, but in some you may not want to reset the origin by applying the location. On the modifier tab of the properties editor remove all armature modifiers. If you have multiple meshes then do this for each one.
Clean up Armature: Select armature, Ctrl+Tab into pose mode and press A to select all. Press Alt+G, Alt+R, and Alt+S to clear all transforms(Posing). Ctrl+Tab back to object mode. Ctrl+A->All Transforms. On constraints tab of the properties editor remove all constraints. Constraints should be on the bone constraints not armature constraints.
Now select mesh, then Shift+select Armature, and press Ctrl+P->Automatic weights. Select mesh, then on modifier tab of properties editor make sure any subsurface division modifiers are after the armature modifier. All other should be before it(Usually).