Strava challenges are fun, motivating getting out on the bike or for a run when otherwise you might not want to, for example because it's cold or windy or raining. On the other hand, they're distortionary: any time you measure and rank something that thing you're measuring or ranking tends to get more focus than things which aren't measured or ranked.
For example, at present Strava challenges are running-based or cycling-based. You get points for running in running challenges, for cycling in cycling challenges. Mixing running and cycling tends to result in mediocre results in both competitions, with nothing to reward balance, which is otherwise probably healthy. Certainly I've enjoyed mixing up running and cycling since I started running in 2008.
So how to reward both?
I recommend a multi-sport challenge. For example, on a distance basis, use a conversion factor for run miles to cycling miles. For example using Ironman distances, running miles would be equivalent to 4.27 cycling miles, and swimming miles would be equivalent to 46.7 cycling miles. A challenge would thus be ranked and scored based on the following formula:
S = C + kr R + kP P
where C is cycling distance, R is running miles, P is swimming distance, S is the total score (units of distance, where kR is a conversion factor for running miles to cycling miles, and kP is a conversion factor for swimming distance to cycling distance.
So what to use for the conversion factors? Strava has a ton of data, but a well-vetted reference is the Ironman Triathlon, the de facto standard in multi-sport distances. Those ratios are:
kR = 4.27
kP = 46.7
For vertical gain, swimming obviously doesn't really apply, but for running versus cycling, either the same conversion factor could be used, or it could be recognized steeper routes are possible with running, and a smaller conversion could apply, or even no conversion (1=1).
Note this approach results in a ranking which can be won by a pure runner or pure cyclist or, if swimming in included, a pure swimmer. It doesn't reward balance at all, but rather simply accepts it. To reward balance an alternate operator to addition is suggested... for example, multiplication.
For example, the following formula could be used (I leave out swimming here since for many access to good swimming is minimal):
S = sqrt[ C × R ]
where C is cycling distance, R is running distance, and "sqrt" specifies square root. With this approach, if you have a choice between a run or a ride, the one which increases your net distance by the maximal percentage is the optimal one for your score. If you do the same distance runs every time, and the same distance rides every time, then you maximize the score by having the same number of runs and rides.
An interesting aspect of this if all your run activities are the same distance, and all the cycling activities are the same distance, then it doesn't matter how long your runs or rides are. There's no run-to-bike conversion factor. All that matters for deciding whether to run or ride is which you've done more of. Pick the other to maximize your score. So if I've done ten 1 km runs and 11 50 km rides, I'm better off doing a 1 km run today than another 50 km ride. Of course I'm even better off doing a 10 km run.
An alternative scheme could be used to give preference to a given fraction (other than 50%) for runs versus rides, but I don't see much point to that:
S = C^f × R^(1-f)
where ^ is exponentiation, f is the power to which the argument is raised, and C and R are as before. Here f is the optimal fraction of cycling activities of the same length assuming running activities also of the same length and a fixed number of total activities (f = 0.5 gives the balanced formula above, f = 1 gives a cycling challenge, f = 0 gives a running challenge).
In any case, this is all selfish on my part, since I want to be rewarded for what I want to do anyway, rather than having to change my behavior. But I think this second sort of challenge would be particularly fun.