Two alternative approaches that I've seen (probably on advrider).
1. Machining a larger diameter, longer spigot and corresponding couterbore on the mating half and then drilling the assembled shaft through the counterbore/spigot, make a tightly fitting pin which is a pressed in and then countersunk at each end and welded over. Once the alignment of the shaft is checked then the joint is fusion welded.
2. Internally splined sleeve which is fitted onto the original shaft using a pin as above and the splined end from a second shaft cut and fitted into the sleeve and bevel drive (left floating). There may be a BMW part from a previous model that can be used or modified to make this sleeve as it would be a difficult one off machining job.
No idea if these were more reliable.