Not having much ATs doesn't necessarily have to mean that the character itself isn't hard to learn. I, as a Ganon and Link user, would consider them the hardest characters to learn. Ganon's harder (to learn) than Link, if you want to use him to win efficiently.
Agreed. Ike barely has any AT's and I don't think that he is THAT hard to use. You just mainly have to learn how to space well and be patient with him in order to perform well with Ike. Although, I still think that it's harder to win with Link or Ganon because they have a higher learning curve compared to most characters.
Characters who I think require a lot of skill in order to win in no particular order are:
1. Sonic. I couldn't stand his low priority moves at all. I get hit practically every time I unleash an attack on someone. Also, when I first tried him out, he felt rather clunky in my head and I really couldn't get over that feeling. I think someone would have to use Sonic a LOT to get over that problem. Also, I don't really like his 'hit and run' playstyle too much. I'd rather just get in there and proceed to put the hurt on my opponents. However, with his low priority, I can't really do that. >_>
2. Link. Link has a lot of AT's in this game and I think that in order to use him well, you need to know how to do most of them in order to perform well in battle. Also, I find it hard trying to find a way utilise ALL of his projectiles. Apparently battles are slightly easier with Link once you are able to do that, but I can't seem to do so.
3. Pokemon Trainer. With pokemon trainer, you need to understand 3 completely different playstyles in order to use him effectively. This is crucial especially when it comes to getting KO's because if you just use the 1 pokemon during the whole match, eventually the pokemon will become exhausted and it will be much harder for that pokemon to KO your opponent. Therefore, you have to implement P.T.'s DownB move in order to overrcome this problem. So, technically, you need to understand how to use 2 of the pokemon well and know how to use 1 reasonably well. This is so your best pokemon can rest while you use the next best one (or vice versa) to battle your opponent. However, in order to swith between them, you need to be fairly good with your worst pokemon so you can knock away your opponent and then you can safely change pokemon back to one of the pokemon that you are good with.
4. Olimar. In order to deal sufficient damage in battle and get KO's, you need to manage and organize your pikmin in battle before you execute an attack which corresponds to what you want to do. If you don't, it'll be harder for you to get KO's and or you won't deal much damage to your opponents. Also, it's hard to organize your pikmin unless if you are a fairly good distance away from your opponent. This also goes for plucking more pikmin too. If you aren't at a reasonable distance from your opponent, they are capable of getting a free hit on you.
5. Marth. In order to use Marth effectively, you have to learn how to space well, especially if you want to get an early KO. Basically, most of his meta game revolves around spacing. However, spacing is hard to do well in brawl. Also, you have to transition between both 'tippered' and 'untippered' attacks if you want to use Marth effectively. If you want to combo your opponents, don't hit them with the tip of your sword. If you want to do a lot of damage and or KO them, you have to hit them with the tip of your sword. However, attacking your opponent with the tip of Marth's sword is hard to do. Therefore when starting out with Marth, it can be really hard to get KOs on your opponent. Therefore, you need to be fairly good at spacing your moves if you want to do well with him.