I've spent the better part of 4 hours trying to figure out how to fix this (also taking apart an xbox S-controller to look at the differences) and the fix isn't sanding alone. I'm pleased to say I've managed to make the d-pad tight as hell and it's improved my Tetris game considerably.
My wife also says the pad is noticably better, and will be her new preferred d-pad for the 360 (that horrific MadCatz arcade stick was her old favorite -- it has a pretty good dpad, fwiw)
First things first, why it's not so hot. MS made two small changes from the old Xbox S-controller. 1: The distance between the button membrane (plyable plastic bit that hits the contacts on the circuit board) and the bottom of the d-pad's contact points seems to have shrunk very slightly (2mm?) so the pad can slide back and forth without pressing any buttons. Bad! 2: To fix this MS made the space around the D-button on the top of the shell smaller (if you look at an S-type and the wireless you'll see that the wall around the D-pad is thicker).
These two problems come together in the following way: Sometimes, when you press a direction you can't get the membrane to connect because there isn't enough room in the well. This is where sanding comes in. You sand all the way around the outer part of the well so the d-pad can be moved enough to make contact but you're not done yet. Now the d-pad will slide around even more which is bad.
Apparently, it's OK to sand the black controller as it's all black (thanks Malik112099)
But I don't know about sanding a Halo 3 pad just yet...
All we're going to do is add a very thin layer between the membrane and the bottom of the plastic of the d-pad to fill that space.
Also, you don't need a special security screw-driver other than a Torx-9. You can snap the security dot out of the center of the screw heads with a small screwdriver (I did so, mostly by accident).
1: Open the controller (there are lots of pictures on-line) The hardest thing for me was realizing there's a screw under the sticker under the battery pack.
The hidden screw. Twisting this screw driver will probably break the security dot:
This is the membrane of the dpad. Remove it, and everything else
You have to unscrew those small screws and gently push out the clip to get the d-pad off:
The d-pad out of the shell
2: Do the sanding trick. You'll find plenty of tutorials on that, but to be clear you're sanding out the outter ring.
Now you can do your sanding. I used the rough edge of a leatherman. Try not to cut off your hand. Go back in with some fine sandpaper to even it out when done:
The top pad has been sanded notice how much thinner the outer well-wall is.
3: Cut a small piece of pliable plastic the same diameter of the bottom of the d-ring (not counting the two tabs) and punch a hole in the center
so the pivot point that extends out can clear it. For pliable plastic, I used the clear top to a can of nuts.
So...get a top from a can of nuts and trace the circle that's the size of the bottom of the d-pad. Cut it out and punch a hole in the center.
You're going to put the d-pad plastic back in and put your little plastic thing on top of it:
4: Reassemble and enjoy.
Put the membrane back on (on top of the space) and reassemble the controller:
UPDATE: I decided to make an 'instructable' -- which is an awesome site for this sort of thing, btw. Anyway, the link is here:
update 2: You need to sand...
Now what does the sanding do?
I just took mine apart and added the thin plastic (took me about 20-30 minutes), and from what I can tell the thing works way better. Up is up and left is left. And the thing clicks with every press.
Well, I played some SFII and it works pretty good. Better than it did, but still not great. So I guess sanding would help out a bit. I can see what it does now. The d-pad does hit the contollers housing. So I guess I'm gonna sand it and see how that goes.