No matter who you choose, the most important thing is to choose a character -- it doesn't matter who. Just make sure it's a character you enjoy somewhat, and preferably a high/top tier if your goal is to win.
The issue here is that you're switching characters when you find something that limits them. Even Fox has issues -- he has limited range, awful aerial mobility, and all the best characters have great combo potential against him.
If you want to improve, then it doesn't matter what character you use for quite some time, to be honest. Obviously, a character that you 'click' with will be best, but most people won't be able to realize what they like about a character with any degree of accuracy for quite some time. I started out playing peach, and played her for a full year and a half before deciding that she didn't fit my playstyle. However, if I hadn't spent that year and a half devoted mainly to peach, then I wouldn't be half as good of a falco player as I am now.
Each character has their pros and cons, but they all will help you improve, and all of them (particularly the 'best' ones) have potential to be played with. I would recommend just going with your gut instinct, and stick with it -- you can change your character once you've had more time devoted to the one. But it's impossible to improve quickly if you have to repeatedly change how you play every few weeks.
Hope that helps! I didn't mean this to sound derogatory at all, just trying to say that it doesn't matter who you pick, as long as you stick with them for a while.