Staying with someone you don't have chemistry with isn't fair to you or to him. When I was 17, I started dating this guy who was basically my best friend. I sort of liked him, but didn't really find him attractive and we didn't really have dating chemistry. I thought it would get better. I didn't want to hurt him, but I ended up emotionally pushing him away by picking fights and being generally...witchy. The break up was really bad.
I guess the moral of the story is that if you don't like a guy in that way, you can't make yourself.
I think part of the draw of bad boys is the macho quality. A lot of guys today are more sensitive and romantic types, which is fine for some girls, but not every girl. There are guys out there that are in the middle. You need to find a guy who you click with, but who is also good for you. They're out there, you just have to recognize them.
I also agree that a lot of this comes with getting a bit older. Not only because you mature, but because the guys do, too.
Good luck. Let the guy down easy. Tell him how great you think he is, but that you just don't think the chemistry is right.