For historical purposes, PeopleSoft treats null values in a peculiar manner. Null numeric values are stored as zeroes, and null text values are stored as single blanks (" "). Null dates/times/datetimes and long character fields are actual database NULLs.
You're describing a sibling table with key fields plus only numeric fields. However, PeopleTools will technically treat this as a child table, and child tables are not inserted into when all non-key fields are "null". Your kludge takes care of the requirement to have the rows physically inserted when all values are zero, but I can think of two other things you could do:
If you won't be using the Excel-to-CI regularly (i.e., it's just for initial or infrequent data load), you could code a simple statement to INSERT into the table an all-zeroes row for each EMPLID not already present in the table. (If the table is not required in to-the-second real-time use, you could set up this INSERT as a database job to run nightly, for example.)
If feasible, relatively limited in scope, and not prohibitive from an effort or performance perspective, you could change any joins that involve this table into outer joins, coalescing the potentially NULL values to zeroes.
There is a third option: to add a field to the Record that you know will always have a value. For example, you could add a last modified timestamp/user pair. However, this is a data model design choice that only makes sense if the added field is something you really need to track. In other words, it's just as kludgy as your current solution, but could add some value to the context of the data.