I would suggest using Matrix metering, as nickt suggests, for starters. When shooting in M what I do is move the mode dial to "A"perture priority, get a reading based on the aperture I want to use, pop the mode dial back to M and then plug in the shutter speed or use exposure reciprocity values to adjust both my shutter speed and aperture (e.g. f/8 @ 1/125 = f/5.6 @ 1/250 = f/4 @ 1/500, etc.) based off what I got from the meter while in "A" mode. That and I'm prepared to bracket my shots. If I absolutely feel I need to use Spot metering, I meter on the highlights because it's much easier to bring "up" under exposure in post processing than it is to correct blown out highlights in my experience.
You should run some tests using the camera in full Auto and/or Aperture Priority mode, with Matrix metering, just to confirm your problem is in fact Pilot Error, but I'm 99.9% sure it is.
.....