Yes, this is quite a complex challenge - I have a whole bunch of C++ code for cycle.travel to cope with this. It’s very much specialised to c.t’s use case but I’m happy to help if needed.
Some parts of the International Cycling Routes are not marked on site. So to be most correct, they should not at all be mapped on OSM. But there is a wide consensus that there is an exeption for these routes.
There’s a genuine issue with EuroVelo routes that “Routes under development” and “Route at the planning stage” have been widely entered into OSM, despite the fact that they are not only not signposted, they’re sometimes completely unsuitable for cyclists, with no infrastructure works having been carried out.
There are particular problems along the coast of Spain and in central-eastern Europe. If you follow the EuroVelo group on Facebook, or similar forums, there are often ride reports from cyclists who have followed OSM-based maps in good faith and been sent on unsuitable routes.
I would like to see distinct EV relations with state=proposed
here, as is generally the case for other cycle routes.