I created a python script with a SQLLite3 database that takes the openMSX romdatabase data and sorts ROM accordingly if they are known.
Download here: https://www.vampier.net/MSX/romsorter.zip
I only ran this on linux but windows should work too.
To start run the python script once, it will create a directory structure to start sorting.
Drop all your ROMS in the 'unsorted' folder and run the script agian.
It only works on ROM Files and not ZIP files. All files that are not found will be put in the 'notfound' directory.
The ROM sorter will also rename your files to make sure there are no duplicates. I will continue developing the script so that it will be easier to use.
If you have any ROMs that are working but aren't found by the script please let me know. I can add the sha1 value and ROM mapper to the database.