This is not that you are actually looking for, but this can make a trick, you can use "height=0" to hide empty table cells.
I'm using this trick to hide empty lines, but there is no way to hide Header field if there is no data under it.
Example:
<tr>
<td colspan=2 style="padding: 4px 0px 2px 4px; BACKGROUND: #ecf2f8; border: 1pt solid;">
Properties:
</td>
</tr>
<tr height="0">
<td width="50%">
@{esc_style=html justify=line:change_id.properties.0.label}
</td>
<td width="50%">
@{esc_style=html justify=line:change_id.properties.0.value}
</td>
</tr>
<tr height="0">
<td>
@{esc_style=html justify=line:change_id.properties.1.label}
</td>
<td>
@{esc_style=html justify=line:change_id.properties.1.value}
</td>
</tr>