First of all, ninjas are cool. Anybody who tells you otherwise has no appreciation for the subtle art of stabbing somebody in the neck when they aren’t expecting it.
Second of all, ninjas get no love in D&D. Being roughly based in a quasi-psudo-medieval-fantasy-conglomorate-simulcrum, D&D doesn’t have much room for the ultimate sneaky badass from the east.
There is always the “Oriental Adventures” lines of books, but at least in 3.X, this existed in the form of the prestige class Ninja Spy.
Basically, if you wanted to be sneaky, play a damn rogue.
Once upon a time there was a gloriously violent movie called Ninja Assassin. It for the most part was panned by critics, but it was amazingly violent and had the most awesome, blurry, dark, hard to follow Ninja action I had ever seen… And I wanted to play THAT.
But when I looked through my books to find something, there it was, the ninja class in Complete Adventurer. I pored over it, imaging slicing dudes up as they looked around bewildered. There was only one grand problem.
The ninja class sucked. Like, it sucked worse than a rogue. It was literally the worst parts of the monk (weak BAB and toughness) and the wizard (burning through your abilities and being done for the day). On top those two the sneak attack got downgraded to Sudden Strike and, unlike the rogue, the ninja couldn’t wear any armor at all, thus depriving him if the related enchantment opportunities.
Personally, I add two buffs to the ninja to make him more competitive as a class. Nothing is going to bump him up to a tier one class, but I can make him better at what he does.
First, I add the feat Wild Talent, for free, at level one. This makes available all of the delicious psionic feats in the XPH that fit the ninja so well. All of those feats require a psionic focus, but not power points to use. I think they add to the “magic but not quite magic” feel of the class.
Secondly, we keep the restrictions to Sudden Strike, but add a single line.
“Sudden Strike damage from the Ninja class is not hampered by concealment less than total concealment.”
As written, a ninja (or rogue, for that matter) cannot stab you in a darkened ally, because darkness (magical or otherwise) grants concealment, and that defeats sneak attack. As written, a ninja can hide in the darkness, or stab in the daylight, but not the reverse. It’s stupid.
I think the trade off of the flanking trigger for the ability to stab in the dark is a nice balancing effect, and makes the class more fun to play.