Building a full featured gallery with voting system
1 vote per image, per node, per user, and users are able to vote on
  any image in the node


I don't fully understand the use case here; it might be easier to visualise the scenario with a fuller explanation?

At a guess, the issue might revolve around the use of field collection module here? I'm not a wizard at the internals of that, but personally in this situation I usually manage this with a container/item setup:


Gallery (node/entity)


Image (node/entity)
Image

Gallery


Image
Image



I then relate these either with entity_reference or I guess you could use inline entity form, depends. I don't know if there is anything that precludes you from doing it this way, but I think you're more likely to have better data from votingapi et al like this? Probably using two content types is going to give more joy than entities for that reason. 

This is all from a site builder perspective, where using this kind of setup generally means I have to write as near to zero code as possible!