As is so often the case, context is key. If you operate a gym, it is likely that people will interpret Fat Fighters as fighters against (being) fat.
However, if you open a sumo wrestling school, it might be seen as a pejorative description of your athletes (and I doubt it would be very popular!).
If you start a lobby organisation to increase the amount of fat in our diet, it could even be understood as fighters for fat.
The rules that come into play are an intricate web of semantics and interpretation. When we read an ambiguous expression, we usually try to interpret it in such a way that it makes most sense in the given context.
This is a very strong principle, so strong that many speakers have absolutely no problem understanding the exact opposite of what is being said, even if what is said is not even ambiguous, as for example in the (in my eyes terrible)
I could care less.
Most speakers actually mean that they could not care less! Because that is the meaning that, in context, makes much more sense than the actual meaning, most listeners will actually understand the not care less without any problem.
In the case of xyz fighters, we employ the same semantic filter.
If xyz is something we assume to be negative, and the fighters are assumed to do something positive, we interpret the phrase as fighters against xyz:
The NYPD has organized a special unit of corruption fighters. -> fighters against corruption
If xyz is negative, and we assume the fighters are doing something negative, they are thought to fight for xyz:
IS fighters advance in Syria. -> fighters for (or of) IS
If xyz is positive, and we assume again positive action from the fighters, they are fighting for it. Note that if xyz is an (almost) universally accepted positive thing, it is very hard to assume anyone fighting against it!
I am hard pressed to find a context in which that last example could imply people fighting against freedom (if they are doing so, in our eyes, we are likely to call them by another name!)
On top of that, if xyz can be interpreted as an adjective to describe the fighters, as in the case of fat, we make similar assumptions from the context to interpret it as an adjective or an attributive noun.
I don't think this occurs very often, but in the cases that it does occur, it seems that the interpretation mechanism is a bit weaker than with the for/against distinction if both uses of xyz make sense.
For instance, in
Nobody would probably interpret that in any context as people that fight (against) "the great", it seems to only make sense to read that as fighters that are great.
With fat you do have a more obvious ambiguity, but ensuring the correct context should avoid any but deliberate misinterpretation.