Careful personality raises SD, not Def.
Anyway, I'd give Ninjask EVs of 252 Def, 40 Att and 218 SD. There's no need to give Ninjask any speed EVs. If your Ninjask has maximum IVs, its stats at level 100 will be:
[HP] 263
[ATTACK] 226
[DEFENSE] 189
[SP. ATK] 122
[SP. DEF] 209
[SPEED] 356
Ruby
For defense and special defense EVs, battle Duskull in Mount Pyre. Duskull give 1 Def and 1 SD EV.
For attack EVs, battle Zangoose/Nuzleaf on route 114 for 2 Att EVs each.
For defense EVs, battle Koffing in Fiery Path for 1 Def EV and Torkoal for 2 Def EVs.
Sapphire
For attack EVs, battle Shuppet in Mount Pyre for 1 Att EV.
For special defense EVs, battle Grimer in Fiery Path for 1 SD EV or Lombre on route 114 for 2 SD EVs.
Both
For defense EVs, battle Lairon in victory road for 2 Def EVs or battle Torkoal in Fiery Path for 2 Def EVs or Cascoon/Silcoon in the forest on route 104 for 2 Def EVs each.
For special defense EVs battle Tentacool on sea routes for 1 SD EV or fish for Tentacool/cruel on the abandoned ship on the lower deck. Trentacruel give 2 SD EVs.