If the tags have that kind of syntax that you prefer you can easily use the Function tag - filename.
On the other hand: with all your specialities concerning capitals and punctuation I wonder how any programme should guess these wishes unless you provide a rather comprehensive list with all the exceptions.
I doubt that this will be easy. And what will be the benefit? Filenames are void - the mp3 tags must be the object of desire, they must be filled in a comprehensive way.
If your files are named uniformally using that initial pattern that you posted, and this has nothing to do with the tags there-in, I suggest you to use a tool named "Bulk Rename Utility".
You will be able to "select all", and in a few "bulk renames" get exactly what you want...
Set "Case" format to "Title"
Rename
Reset "Case" to back "Same"
Replace "(" with nothing
Replace ")" with " -"
Replace "[" with nothing
Replace "]" with " -"
Replace " And " with " and "
Replace " Feat " with " feat "
It'll be much faster than my typing the above 9 steps out actually....