After lots of attempts and search I have never found a satisfactory way to do it with CSS2.
A simple way to accomplish it is to wrap it into a handy TABLE as shown in the sample below. Do you know how to do it avoiding table layouts and also avoiding quirky tricks?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<style type="text/css">
table
{
margin:0px auto 0 auto;
}
</style>
</head>
<body>
<table>
<tr>
<td>test<br/>test</td>
</tr>
</table>
</body>
<html>