I remember UtM said not so long ago, that it is so much wrong that novices into fighting, goes learning on real foes, while they should train on dummies. We fight for the one or few moments when we really need it. We don't do it to train x).
I believe, two PCs fighting with each other, when they don't mean to kill each other, is in fact the right way of training. They practice and try to prepare themselves for the real batte.
It is what i would call IC behaviour, while going fighting monsters is a game artifact. We have moved so far, that it is even called as normal behaviour, and in games like PS the training process is the other way around ;P The question is if we should try to do something about it or just acept that a world inside a game doesn't go around he same rules as real world, because in game world people from real world want to have fun, while in real, they often fear, or the consequences are not worth it.
What i think we should try to achieve, is never calling exploiting, something what is natural to real world and is needed to be remined the online players

The consequences of traing beatwen two PCs:
We start ranking up faster. Because the only problem will be money. People will train next to a NPC trainer. Only before they will accumulate enough money and PP for few ranks.
What can be done about it:
- we should really have some law in towns (most trainers are in towns) eg: you pay a fee if you fight in a city. It is forbidden and you can even land in jail when you continue after paying few fees.
- a trainer can't give you training for next rank too often. It is already OOC that you gain the theoretical knowledge at once, so maybe lets do it that you have to wait some reasonable time, before you can learn theoretical knowledge for next rank.