Again to be clear, I'm not saying this should apply for all games or be coded into the roles themselves (like admirer). These are options when creating a setup that allow the host to balance things out if they want to. Nobody has to use them.
The above is the important part, to balance out roles like cult, celeb etc.
This might be harder to implement, but one sub-idea is to allow limits on roles, so that [less than/more than/exactly] x number of y faction should be z role(s).
e.g.
* Exactly 1 town should be cop/insane cop/lazy cop. * More than 2 town should be villager. * Less than 3 players of any faction should be vigil/killer/clockmaker/sniper/hitman/etc.