Single line links
If you have a single line link a proper display (inline-block or block), height, line-height will teach its text to align in the middle.
Multi line links
It gets more complicated if you have a multi line link that you want to vertically align into the middle.
If this is your case, then use display: table-cell (IE8+) and vertical-align: middle to let it behave like an old fashioned < td >.
Then simply adjust its font-size and line-height for proper style and spacing.
If your link is going to behave like a button, then simply use the HTML5 < button > tag, its text will automatically align into the middle even if its width is going to let it split over multiple lines.
<button>Multi Line Text</button>