And at this point, how to fix the problem?
the only way you can fix it is to fix the code. so the exploit is not allowed anymore. but the devs haven't shown any inclination to doing that and they will never do it. so we're stuck with it unless we do some type of fork.
those of us who maintain nodes could have the option to accept or not these ordinals?
apparently you can run something called a pruned node:
https://thebitcoinmanual.com/behind-btc/nodes/pruned-node/you don't even have to download the entire blockchain first if you download a snapshot from a "trusted" source.

we all trust everyone we download from so why not right?

or is it up to the miners?
the miners could reject any type of transaction they want to but why would they? it will just cost them money.