You're missing something. Who, exactly, controls the most computing power?
Computing power only matters to the extent that the chains are otherwise compatible.
All current clients will choose a five-block-long chain that seems to be valid over a thousand-block-long chain with an invalid transaction in it.
The attack proposed here is to create a popular client with a subtle but intentional bug, and then expose the bug to force a network split between the users/miners who use your client and the users/miners who don't. 51% of the computing power is not required - otherwise the BerkeleyDB blockchain fork bug would never have occurred. By the time human pool operators and developers and so forth have figured out a solution, you can (theoretically) double-spend massively.