Are you saying that you want those 0.0% values to be black? Behind the scenes, those values still are negative, even though the formatting displays them as 0.0%.
So if you want them to be black, and to be evaluated as truly 0.0 rather than the tiny negative value that is actually stored in memory, use the ROUND() function to round the value to 3 decimal places. ROUND([field name],3). That would round those tiny values to zero. Use that calc in place of the field that has the tiny value in it.