I suggest you implement some Flocking Behaviorflocking behavior principles on the movement method. If you don't know about Flockingflocking algorithms, here are some useful links and tutorials:
http://harry.me/blog/2011/02/17/neat-algorithms-flocking/
http://www.lalena.com/AI/Flock/
The trick would be the following:
1- The movement and it'sits direction each frame will be controlled by a movement vector.
2- The A* pathfinder will return an array of Waypointswaypoints the entity needs to go thru so it will end up at the desired location without running into walls and whatnot.
3- This vector is the resulting sum of other vectors, such as Cohesion, Separation and Alignment made generated by the flocking bevavioralgorithm. The some common vectors are cohesion, separation and alignment along with a vector pointing to the current Waypointwaypoint (heading).
This is not a silver bullet, though. The original Flockingflocking theory doesn't account for walls, or obstacles and neither. Neither implementing pathfinding, and nor combining Flocking it with Pathfindingflocking is not as trivial as it might seem.