Yes, you can hide empty custom fields on a Contact's profile page.
To do so, click the "Hide Empty Fields" link on a contact's profile page. Once you do, all custom fields that do not have a value will be hidden from view.
To show empty custom fields at any time, click "Show Empty Fields."
Note that this will only hide empty custom fields. This will not hide empty system default fields (ie, Organization and Phone).