I always think that if a guy has to act like a bad boy to get girls, he is probably overcompensating a bit. I.e. Those kids that pretend to be edgy and try to overstep the mark a bit to impress the girls. The real man just goes up and says it how it is and does not give a **** about any negative perceptions about him, doesn't need to pretend to be 'bad' and wear a leather jacket like a parody of himself.
Funnily enough the guys who tend to complain about nice guys vs bad boys are the kids between adolescence and adulthood who look and act like boys still.
The key here is masculinity. If you are not masculine (i.e. seize the initiative, lead) then it does not matter if you are good boy or bad boy. You have to walk and talk like a masculine man, be strong in your style. Be as good aesthetically or better than the girls you are going for. Women tbh love it when you can be nice with her but not need her (i.e. you have options and can walk away at any time because you are not needy for just her). This is the key, you must not need her more than she needs you. You can be very nice to a girl, but the intelligent guy knows that for that to work he has to be non needy and have other options.
A lot of what friendzoned guys do is stay in said friendzoned and hover around the girl. Idiotic. As soon as she disrespects you imo it is best to just blank her out of your life and go for other girls, not making the same mistake again. But, it takes strong men to do this.
The one thing that the bad boys do is show some lack of neediness/emotional dependence for the girl, they can also lead the way because of the confidence. They also have a sense of humour a lot of the time, this helps.