There are a couple of other methods in use: one's complement and excess-n notation. Ones complement is even easier to implement than two's complement: simply flip each bit. In excess-n notation, 0 represents -n, 1 represents -n+1, and so on.
One problem with signed magnitude and ones complement notation is that both have positive and negative zero as different numbers. This is one of the reasons these two techniques have largely been abandoned.
Two's complement is the dominant mechanism by which negative numbers are represented in binary. There is one important exception: Excess-n notation is used to represent the exponent in the IEEE floating point representation.