Well, first of all I'm very curious if there's already a solution on improving the voting system so it won't be easily cheated.

There are some issues need to be solved:
- System's user can have only one «account» (or «wallet») to vote. Nobody can vote twice.
- Nobody can't see your vote. To be clear, everyone can see it, but didn't know that it is YOU.
As I know, first issue is hard to implement, without making second one... But it is temporary problem =)
I agree, although block chain could actually solve some problems with electronic voting the data protection is a serious problem.
Forget about voting systems with block chain if data is not protected. BTW I have seen some ICOs who do promise to work with this kind of thing but that does not mean that they will solve the problems needed to implement this.