The morality gain is pretty barebones and it is skewed heavily to being good. You get good points for talking and what not, but mainly for killing abominations, which are much more plentiful than humanoids and are placed in areas with better loot, so the average player will naturaly kill more abominations than humanoids and thus never get enough evil points to get these perks.
There are more ways to get evil points. Doing drugs or drinking alcohol is one of them and refusing to help strangers in random events should also give you negative points.
That said, being good is still quite benefitial, especialy when you take into account what I said at the start, because good perks actualy lower the mood penalty you get from fighting abominations, which didn't happen in previous versions. So you can kill some humanoids and then kill some underground enemies to get your mood back.