credo che al w3c abbiano altre priorità che la centratura verticale, comunque visto che si tratta di tabelle non vedo dove stia il problema, dato che di default le tabelle centrano verticalmente:

<html>
<head>
<title>Centra da tabella</title>
<style type="text/css">
* {margin:0;padding:0}
html, body {height:100%}


.esterna {height:100%;
background:silver;
width:100%;
text-align:center;
}
.interna {background:red;
width:80%;
text-align:center;
margin:auto;
}
div {background:gray;
width:50%;
margin:auto;
}
</style>


</head>

<body>
<table class="esterna">
<tr>
<td><table class="interna">
<tr>
<td><div>vediamo</div></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>