You believe that you may be attractive but that you're unattractive in the eyes of men. I agree with you that the issue here is less about your attractiveness than your need for approval/admiration from men. You could look like a model but if you believe you need admiration from men to feel worthwhile, you won't feel happy.
Something that struck me here is that each negative experience is making you retreat into yourself more. What men/teenage boys are picking up on is the way that you feel about yourself. By trying to hide yourself, you're actually making yourself stand out more and it's attracting their attention in ways that you don't like.
If I were in the same position as you, I'd explore why I felt the need for men's approval at all. Do you feel like the reason is clear to you or is there something hidden? If you find the reason, bring it out into the open and deal with it, you may find that it helps.
I like what was suggested about turning around to these boys/men and pointing out the rudeness of their behaviour. People will have a tendency to behave towards others in a way that they feel that they can 'get away with' and will feel puffed up for a few minutes. Exposing them for what they are will tend to deflate these kinds of people.
In terms of changing the way that you look, do what pleases you. If you change your make up and hairstyle and feel that it makes you look more attractive, do it. Don't take the stance that men's opinions won't change anyway so it won't matter.
Also, I've noticed an interesting point which you treat like a side note. You've said that sometimes guys have checked you out and found you attractive. Do you think that every guy who finds you attractive will openly check you out or comment on your appearance? It's doubtful. Some guys fear rejection just as much as you fear not having their approval/admiration.
So it seems to me that you need a two-pronged strategy. You need to work on going out and being fearless so that you're less likely to attract these comments in the first place. In terms of dealing with it when you get home. Cry. Just sit there and cry your heart out. Feel all of the pain, the rage and whatever it is you feel. Decide how long feels right to you to do that. Afterwards, do something that creates the opposite reaction in you. Find the funniest movies or friend you have and be amused and happy.