Thats complete bs. I never ever believe guys who think that they're to much of a nice guy, there just trying to make themselves feel better about the fact that they dont have a girlfriend.
You already mentioned that girls you dont like ask you out, so you're obviously not that much of a nice guy (using your assumtion that all girls like bad boys), maybe your just being fussy?
It's just life, you've got to deal with it, dont try and make yourself feel better buy telling yourself your too nice. Loads of people your age are single and i'm sure that there not all 'nice guys'.
Just be yourself, socalise, flirt, and if the girl who you like doesnt like you, well tbh theres nothing you can do about it, pick yourself up and move on, at least you've tried.