I have a lot of respect for people who are able to help stray animals.
I will sometimes catch a stray dog and attempt to find it's owner: check for tags, walk the neighborhood with it and ask neighbors if they recognize it, take it to be scanned for a microchip, check the paper for lost ads, and check the shelters for lost dog reports... but when all that fails, I hardly ever keep them overnight--I don't have the space to keep it separate from my pets--so I just take them to animal control where I can only hope their owner comes looking for them. Animal control is only able to give stray dogs four days, so they need all the luck they can get.
What I am able to do though is foster dogs for one of our local shelters. I take them home and keep them until they find a home. I work on any issues they might have, or do some basic training with them, and think of anything I can to make them more adoptable. I feel like I'm failing at that right now because I've been fostering Skip for 22 months now, and Perry for 7 months. I don't take the easiest dogs though, so I realize going in that I might have them for a long time, but I didn't think Skip would last 2 years without getting adopted. He starts Agility classes Thursday.
After Skip finally gets adopted I've decided that I'm going to switch to short term fostering. One of the things the shelter really needs is for people to take the dogs home for a while to get a better idea of how they act in a home, so my plan is to foster dogs for 1 or 2 weeks at a time. I'll learn about them, write up a description, teach them a little, and then take them back to the shelter and take someone else instead. I have kind of started this already just taking certain dogs home for a couple days at a time when I know I'll have extra time. My other goal is to start working on videos of the dogs to put online, but I'm completely new to video editing so we'll see how it goes.