Yes, the better solution is not to use an "axles" parameter, so that this kind of situation does not even appear.
Axles are only useful if they are used to divide the current weight of the vehicle. If you go for the max possible weight the vehicle could have anyway, you could as well pre-calculate that and write it as a constant axle_load with the exact same results, therefore you don't need axles.
Using the current weight of the vehicle including cargo means the axle_load is variable, thus can't be stated in the dat. However, by being variable, the same train can't always use the same track. This is undesired behavior, thus should not happen, and unless an solution for this issue is found, "axles" can't get a green light.
One such solution could be to have the system work it non-binary. Instead of not allowing too heavy vehicles on a way with max_weight, we could make it so those vehicles need to go very, very slowly. Therefore, no vehicle can get totally stuck because of weight limit.
While such behaviour would work on the players side, it's probably a nightmare for route finding. For route finding in Standard, it does not matter how quick a vehicle could move on a given way. Therefore, all way tiles on which a vehicle will be overweight would just be seen as eligable for travel. Here in Austria, we have many "No GPS"-signs scattered around, because there are some mountain paths shortcuts provided by navigational systems, while actually being too narrow for trucks. This is pretty much what you would have to do with that 'solution' - add signs and signals for weight limits so they would be excluded from routing by heavy vehicles. While that could technically work, it's definitelly not worth following up on it.
So just scrap axles for Standard. What's the downside, anyway?