It's really not too hard for these companies to make money off of the spreads. It's kind of like a casino in that they don't have to cheat to win. They start out winning. The rest averages out to be a wash for them, but they keep their spread gains on each trade. The odds are already stacked in their favor, no need to stack them any more.
Also, they win because they stay in permanently. They never get closed out due to losses. Especially with mini accounts, this is the case for traders. They come in, have a quick loss, and are out. The company made money. No cheating the customers necessary. The company will be there indefinitely, to gain on the spreads over time, and make ultimate profits when they liquidate accounts due to insufficient margin.
And yes, your average account will be a loser. Some will make lots of money, just like in casinos people win jackpots all the time. But this is made up by the fact that the majority lose.