Centrar verticalmente un div dentro de otro div

Estoy tratando devertical-align: middle un div dentro de otro div, pero por alguna razón no funciona correctamente. ¿Qué estoy haciendo mal?

#wrapper {
border: 1px solid red;
width: 500px;
height: 500px;
}
#block {
border: 1px solid blue;
width: 500px;
height: 250px;
vertical-align: middle;
}
<div id = 'wrapper'> 
<div id = 'block'> I'm Block </div>
<div>

PD:Esto es solo un ejemplo, así que no, en realidad no sé el ancho y la altura reales de los divs, ya que son dinámicos, de acuerdo con su contenido, así que no responda margin-top: 125px o padding-top: 125px respuestas o respuestas como esa.

Respuestas a la pregunta(5)

Su respuesta a la pregunta