[>] To fix the object center, what you need to do is move it relative to the vertices, i.e., move the vertices relative to the object center. Tab into edit mode, select all the vertices, and G grab and move them all together so that they are positioned with the object center in their center.
[>] Here’s an example of good weight painting. This is an armature and mesh (in silhouette) that gives me very good deformations.
The armature is designed to mimic the natural bone and muscle by approximating its movement. This requires some thought, because things are not placed in exactly the same way as actual muscles are.
I’ve hidden much of the armature so only the arm bones and some of the shoulder bones are visible (there are three others for minor things: clavicle, scapulae, and a large pectoralis for stretching across the chest when the shoulders move).
You’ll notice that the weights are almost in bands as with your fish. Please note also that there has been careful blending and overlapping to make sure everything deforms smoothly and believably.
And, as you noticed with your fish, there aren’t a whole lot of colors used --maybe six or seven total. Some delicate places in your mesh may require more shades, but normally you don’t need a whole lot.
The two highlighted bones are the structure of the arm: they (plus a hidden one in the hand) make an IK chain. The hand and elbow bones are IK targets to control it. Most of the other bones you see there are Stretch-To constrained (you can see each one’s little target bone at its tip).
This isn’t necessarily the best rig ever, but it works and is easy to use. And in the end that’s all that matters.
Hope this helps.