The spec is fundamentally flawed. The fixed spec would be a different spec, i.e. something like PASETO.
PASETO has exactly the same vulnerabilities. You can specify a different version, and a buggy implementation can misinterpret it. With PASETO, the algorithm selection is fully under the control of the attacker.