well, you can't tell people how to play. It's everyone's personal choice.
I agree that teamplay is somewhat of a problem on public servers, but that has been the case since the early days of CS. Lack of teamplay has a much bigger impact in BF2 than it did in CS though, because BF2 is even more demanding as far as tactics and co-ordination are concerned.
I try to find servers with VoIP so I can at least ask the guys in my squad why they won't listen to me....
What you should be asking yourself is, if you would be willing to follow someone else's orders ( some random SL on a public server you just joined, I mean.. ).
Moreover, not everyone has the same view on the appropriate tactic in any given situation. Accordingly, if there are no squads set up and the commander doesn't give out orders ( because he doesn't have a plan ),
people a basically running around aimlessly from flag to flag, everyone on his own agenda.
I share your feelings, but I don't know how this could be resolved on public servers...