How about having certain objects in the game that have a proximity area where you cannot spawn within? So when you do spawn you are spawned at the limits of its boundry? You would spawn in the general area of your squad leader but you would still have to run a bit of a ways to get to him.
Sure spawning on a squad leader isn't the most realistic thing, but neither is spawning in the middle of a map at a capturable base, or the whole idea of respawning. But at least with squad spawning it encourages teamwork. There is a whole different dynamic when playing BF2 than 1942 because of this. In 1942 and FH everyone seems to run off in their own direction doing their own thing, a one man army, and in BF2 we have groups of squads working towards a common objective...now that is realistic IMO, and to eliminate squad spawning would cripple this given how large the maps can get.