Meredith asks a great question. I'm no expert, but I definitely relate to the tension of wanting to help but not being sure what's the best way. A few thoughts:
1) Contributing to good local institutions is always helpful, whether in volunteering, giving money, donating items, or fundraising.
2) I feel more comfortable giving to homeless people who have some sort of business, selling papers or other items, for example. (But I recognize it's hard to get something started, too.)
3) Give useful items instead of cash. Keep energy bars, water, clean socks, or groceries in your car. Have tickets for public transportation that you can donate (or free transfers after you ride, depending on the city). Buy gift certificates to grocery stores, restaurants, or even coffee shops - coffee may seem like a luxury, but it provides a hot drink, a place to sit, and a restroom.
4) Know what services are in your area for homeless people so you can point people in the right direction for food, shelter, counseling, job training, etc.
5) Raise awareness. Talk with friends, and try volunteering together. Forward these articles to coworkers. Try to get a place of worship (or any group you're a part of) involved in the community by providing services or partnering with existing service providers.
6) Lastly, even if you have nothing tangible to give, give respect and recognize humanity - look people in the eye, greet people, talk to people, shake a hand. If you're religious, pray for them - out loud, in your heart, or with a simple "God bless you."