select candidates that fit the popular mainstream opinion of every district
Alas, the British system doesn't let you do that: candidate selection is done by the central party HQ, with some input from the local constituency party committee (in some parties this is a rubber stamp, in others there's some teeth). Voters don't register with a party before the election and get no say in selecting candidates.
Furthermore, election spending is rigidly capped -- spending campaign money on behalf of a candidate is actually a criminal offense and you can do serious prison time for it. (Election campaign spending on an entire general election, with 650 seats in play and multiple parties standing in all constituencies, is capped at a bit less than the campaign funds of a single Congressional candidate in the USA.)
Even if you could inject a candidate for one of the main parties who suits your agenda, their hands would be tied: the parties are much more tightly managed than is the case in the USA, and the first time your MP defied a three-line whip they'd be suspended (and out on their ear at the next election unless they did it as part of a successful back-bench rebellion).
Finally, I will point to some media bias; UKIP (zero MPs, a handful of MEPs and councillors) gets vastly more TV/Radio/newspaper exposure than the Green Party (who have an MP, MEPs, and more councillors). And the Conservatives get considerably more BBC face time than all other parties combined, despite only having about 40% of the seats in parliament and rather less representation at local government level.