From the releasenotes of 6.8 I gather that skipping the empty values is the intended behavior.
In that case there is no way to enfore uniqueness on that using database validation.
Perhaps a work around might be to have a default value of 0 and add an aditional required validation on the attribute?
Otherwise, I think you're stuck with writing your own validation flow.