I've done a bunch of AI vs AI. My friends and I used to bet 5$ MM on CPU's. The winner obviously aren't the "smarter" AI's. It's actually pretty simple. Kills normally come from weird hits/bad DI or suicides. That is why the characters with the long recoveries normally do well (The AI also doesn't edge guard too well) in AI vs AI matches.
In actual matches. The dumbest is Mew2 imo. He doesn't DJC that much, he spams shadowball CHARGING (That's right, he just charges), can't string 2 hits together if his life depended on it, and I feel like he tries to teleport to the ledge all the time making the best recovery, the worst recovery. Close seconds are all the big characters because the CPU isn't evasive, fast enough, and doesn't take advantage of their better priority moves (The Bowser AI doesn't have a clue how to use the super armor or how to upB OoS).
The smarter AI's are the ones that cover their approaches. Mario uses his fireball well. Ness is surprisingly fast with his aerials. Fox AI is fast and aggressive, but super easy to gimmick (LOL just like all Foxes). These characters seem to tech chase well also.
Mediorcre AI... I haven't tested Roy enough, but I'm a fan of the Marth and Roy AI. They seem to cover space well. They do a few stupid UpB's and they can't recover, but the long hit boxes on their attacks seems to give the AI a boost on its spacial reasoning.