The 'single license fork' problem can never be eliminated unless we ditch the license compatibility; the GPL requires that any code compatible with the GPL must be able to eventually be licensable under the GPL with no additional restrictions. The MPL 2.0 makes the process of turning MPLed code into GPLed code a little more involved (in summary: you have to combine with existing GPLed code, and the _combiner's_ distribution of the code has to be under the terms of both licenses) but there's no legal way of preventing such forking altogether.
Just as BSD or Apache code can be "forked" in a GPL-only version, so can MPL 2.0 code.
Fortunately, forks rarely succeed if they don't carry the community with them.