Macmillan has some interesting information on this. Under there phrasal listings for sorry, they say:
• feel sorry for someone 1
to feel sympathy for someone because they are in a difficult or unpleasant situation
but they also list:
• I'm sorry [also Sorry, when spoken] 1
used for telling someone that you are ashamed or unhappy about something that you have done that has hurt or upset them : I'm sorry – I shouldn't have blamed you. 2
used in a social situation as a way of asking someone to forgive you for doing something rude, embarrassing, etc. : Sorry, I should have called to let you know I'd be late.
I've found that many people say, "I'm sorry," when they wish to convey "I feel sorry for you." I think most hearers overlook it, and make the mental jump just fine, but, apparently, some do not, and they mistakenly wonder if "I'm sorry" means, "Let me apologize," when it really means, "I feel bad for you."
I, too, am often reluctant to say "I feel sorry for you", perhaps because it sounds too much like this phrasal use of the word sorry:
• feel sorry for yourself 1 to feel sad about your life instead of trying to do things that could make you feel better
In my experience, feeling sorry for yourself is usually construed to be a bad thing, so I can understand why someone might be reluctant to say, I feel sorry for you, and instead opt for the more concise I'm sorry. As others have said, if you want to avoid a possible misunderstanding, there are plenty of other ways to convey that sentiment. You could say something like, "I feel bad for you," or you could even just offer a one-word interjection of empathy: "Ouch!"
Sorry can be a confusing word, I guess. Sorry about that.