Russian citizens living in Estonia, for example, are allowed to vote in local elections but not national ones. But then again, they aren't citizens of Estonia (and they are deemed the descendants of illegal occupiers historically, which is a special case).
However, the fact that Spain, etc, may refuse to allow non-citizens to vote in its national elections is up to them, and shouldn't really influence what we do with them. I think andy's answer is a sensible one.