I have never voted (except voting for myself when I was about to be elected student representative in high school or at university), because I have always had bad feelings about democracy itself. I do not dislike the basic idea of democracy, roughly defined as "the power in the hands of the people", but when it comes to the complex societies we live in, democracy is not the best way to get the right decisions to handle the problems that we face.
In practice, we use democracy is two specific ways: to elect people whose job is to make decisions on our behalf, or for us to make the decisions themselves (referendums). This is bound to be inefficient as our societies get more connected and complex.
To fully understand what's wrong here. Let me use an analogy. Let us imagine that you get a programming job in a company and you inherit a complex piece of technology: a very complex, outdated and buggy computer program, written over thousands of years spanning over million of lines of codes and hundreds, if not thousands, of interconnected modules. This program has ramifications in every single department of the company, affecting the way people work, in one way or another.
The way you decide to handle the task of as follows: You divide the source code into 100 separate pieces and give each piece a name. You also visit Human Resources and divide the payroll into 100 different subgroups and attribute a piece of code to each group of people. We are going to call each ( piece of code / sub group of people) pair a "country". Each country is told to be run the way they want. Some countries happen to have a strong personality inside them, someone who gets all the power and becomes dictator. Some other countries decide to try democracy and elect a country representative. This representative is often the "popular kid", and not someone who has strong (or even any) knowledge about programming or system design.
From that point this is what happens. Every time that a country wants to make a change to the program for one reason or another, they decide the change during a country-meeting, then open a code editor, write the change, compile and submit the updated code to production. All this happening without the consent of other countries, and too often, without them even knowing about it. In the countries run by one dictator, the meetings are simple, since nobody is invited, and the dictator pretty much writes the code as he wants. In the countries run as democracies, there is always a debate between different "political parties" (sub group of people from the same countries whose purpose in life seems to be to undermine each other's work). Debates always doomed to be unproductive because questions such as "should we modify this piece of code to enable caching at this level, and would the increase of speed be worth it, or should we instead redesign this communication protocol ?", are either totally misunderstood by the people in the country, or understood but not really debated scientifically because of some local, misguided, short sighted and totally unrelated political concerns. Not to mention that some changes are the result of some religious groups' agenda, with no understanding whatsoever of what programming really is. Anyway, changes in the code are done this way, with some countries implementing changes with little, if any, understanding of the side effects of their changes on other parts of the code, other countries, or the entire company as a whole.
So now, we all agree that this company is going to crash as some point. No CEO in the world would let their IT infrastructure, and in particular their primary mission critical software, be handled as I described above. Yet, that's exactly how we run the world.
Do I have a solution ? I don't know yet for sure, but as long as we do not realise that our governments have to be run scientifically, with well stated, well shared, sound design principles. Because as the world gets more complex and more connected, not only our politic class will get useless, but their very existence will the main barrier between us and our flourishing, if not our survival.
A possible solution ?
Ideally we would need an advanced dedicated AI, running the entire planet. (Something nicer than Skynet, of course). Something which would be able to actually "understand" and/or "compute" (something beyond the intellectual abilities of anybody or any group of people), the actual (short term as well as long term) effects of any given social or economic decision or policy. Something not motivated by personal concerns or under the influence of any particular religious group, but instead, something designed for one thing and one thing only: The world wide increase of people's happiness, education and well being, while preserving the planet's natural resources.
If this is done correctly, there should not even need a strong mechanism (police or army) for enforcing the decisions of the AI, since we would all have agreed that it is in our common interest to follow her decisions. Even if they hurt our primate perceptions/reasoning or our short term comfort (at least in come countries). Of course she will always be able to justify her reasoning, if we really want to understand. For some issues her presentation might take some time (not surprising when an hyper-intelligent entity tries to summary her thinking to mere primates).
Some people will obviously point out the little issue of feasibility of such an AI. Of course we don't yet have the computing capabilities to give birth to her, but 50 years ago people would absolutely not have believed the possible existence all the technological environment we now take for granted. How will the world be in 500 years ?
And while being at it, some lunatics will claim than they do not agree with her fundamental reason d'être: "increase of people's happiness, education and well being, while preserving the planet's natural resources". Because anything which takes away their God given right to be irresponsible and short sighted assholes is not acceptable. Those people just deserve to be shot.