Hm I should have read back further I'm a bit late to the party but since nobody mentioned it the first time, I'll toss in my 2 cents. I remember the guy who taught me the open position chords when I started playing pointed out one very useful concept. Anchoring. Only move the fingers you need to move and leave the rest where they are. It gives you a reference for your overall hand position, after which its all a lot easier. Probably the most basic example is C (x32010) to Am (x02210) For that change all you move is your ring finger. What you need to do (forgive me if youre way past this already) is repeat that chord change to a metronome or a simple drum track. Back and forth until you're absolutely sick to death of it. Then increase the tempo a little and do it some more until you think you're going to die of boredom. What you're doing is developing muscle memory. Eventually when you think "Am" your hand will simply assume the right position without your brain getting in the way at all. Another good example is G-D where your ring finger stays anchored on the second string. Use it as a foundation and a pivot. and you'll have a much easier time.
A few years ago I made a concerted effort to rid myself of all my bad habits. My playing had peaked at "mediocre" (and thats being kind about it) and I never seemed to get any better. What I was doing was just playing the same things over and over. Stuff that never took me beyond my comfort zone because I lacked the confidence to push myself on to better things. So what I did was went back to basics. I played scales. I played open chords. I played three chord pop songs. And at every step I made sure I wasn't just playing them adequately but
perfectly. No hits on superfluous strings, no strings accidentally muted, proper hand position, clean picking, perfectly in time... all that malarkey. I really had to
force myself to do it too. I refused to let myself play until after I'd practiced for an hour. Note those are two very different things. Another thing that I found helps too is when you're practicing or learning a new song, play it with a clean tone. Even if what you want is the filthiest, nastiest, most over the top distortion, play it clean first. Fuzz really does cover a multitude of sins but with a clean tone you'll be able to hear what you're doing wrong.
Sorry if this all comes off as preachy and self-righteous but it really did work wonders for me. I'm still mediocre but I'm at a higher standard of mediocrity than I was.