If I understand correctly what you are trying to do, then you shouldn't need to handle Nulls because any missing items from the CSV would be blanks, not nulls. I tried reproducing your setup and here's what I got.
1) Used a manual trigger and put the CSV data lines in a variable and a linefeed variable
2) Used Split with the Linefeed variable to create an array of lines from the CSV
3) Used a Data Select to Split each line into fields and load them with the column names Each field is retrieved with an index using
split(item(),',')[0] through split(item(),',')[3]
4) Did a regular Parse JSON with no changes to the Schema
5) All fields now available as dynamic content
----------------------------------------------------------------------------------
If this Post helped you, please click "Does this answer your question" and give it a like to help others in the community find the answer too!
Paul Papanek Stork, MVP
Blog: https://www.dontpapanic.com/blog