I've had this problem before. For some objects in blender, the shading will be weird and for others it will be fine. I can't explain what's wrong because I don't know, but if you have previously made add-ons with lighting that worked:
1. Append the object that worked into your current model
2. Join your current model with this object and parent to bones all over again
3. Repeat steps 1 and 2 with every object whose lighting doesn't work
I had this problem with my tanks.
Before:

After:

If you need a .blend file with an object whose lighting works, take this:
https://www.dropbox.com/s/dq1jpagv7l2oh2y/ShadingFixer.blend?dl=0Append the only object inside it