I think that once a year (maybe twice) is enough :)
And it's also better to ask at the blood giving center when is it that they need it the most. For example, the nurse there told me that in our hospital there is a scarcity during Christmas and summer holidays. Knowing that, next time I'll make sure I plan my visit at around that time. They also notify you via sms whenever there is dire need for blood (that's only for registered donors).
I hope this post reaches out to more ears. After all it is lives we're talking about :)