Picard should fill in missing tags, but I am not sure if you can explicitly set which fields to save.
I am currently using this file naming scheme:
$if2(%grouping%,%genre%)/$if($eq(%albumartist%,Various Artists),%artist%,%albumartist%)/$if(%originaldate%,$left(%originaldate%,4)) $if($gt(%totaldiscs%,1),%discnumber%-,)$if($ne(%albumartist%,),$num(%tracknumber%,2) ,)%title%
To explain:
- the first path created looks at grouping tag. If it is empty, genre will be used.
- the second path will albumartist that is "Various Artists" and use artist instead. Otherwise, use albumartist
- Third path is original release date of song (year only) plus the default disc number, track number, and song title.
This thread may help for your specific Picard date formatting.