I think you might be hitting the limits of what prepackaged solutions can do for you. One idea is to add Constraints to your characters, such as a Limit Distance, so that they are disallowed from getting too close to an obstacle. This approach will be tedious and you will hit trouble trying to map out a complex scene.
Your next option is to build a solution involving the Blender Game Engine. It would not be too bad. You could put your characters on a Navigation Mesh and loop a walk cycle. They will be completely unable to run into things - one because of the Nav Mesh and two because the physics will prevent it.
Another option is to do the basic puppetteering - animate their paths yourself. This could be as simple as laying down a Curve for a Follow Path Constraint then adding a looping walk cycle using the NLA. This would give you utter control (you could make a character stop at the sink and wash their hands - anything), but at the expense of extra work and understanding.
Since your problem sounds well-defined (automatons walking around fixed boundaries), perhaps there is already a piece if software you can use. If that software uses a reasonable file format, odds are you can export from Blender to it.
Or you could pay someone for an hour or two of their time to implement the solution.