You say the space available will change and yet you say you can't remove the height? If you can't remove the height then the space available is always the same isn't it - unless I missed something or perhaps the height is being added dynamically?
If you are always keeping the parent to a fixed height then just make the table the correct height to fill the space and the image will automatically be centred within the td no matter what size it is (as long as its not bigger than the td of course).
In your table you have an inline style with a height added that seems to be too small. If you increase it like so:
Then the image will be vertically centred. (of course you shouldn't be using inline styles anyway and should add a class to the table).
<table width="100%" style="height:290px">
I just read your last post and if the title may also increase then you'd probably need to put the title in a table cell in the same table as the image to manage the height properly.
However, I think that the way that you have that set up is too fragile and relying on set heights to match things up is not the best way to go about things. If for instance you knock the text size up a couple of settings then you start losing text straight away as the right side doesn't keep pace with the left of that section.
I would have created that whole horizontal bar as a footer to both the top 2 right columns above so that it always matched up without height being needed. Or if you really wanted three separate columns then don't try and match elements from one column in line with the other column as that is unmanageable.