How would you choose f()? Ideally, you'd want f() to be chosen dynamically by some market mechanism. Hard-coding it could lead to trouble a la price-fixing.
I don't know if it's possible to use a market mechanism to determine f(). Markets only really work when participants' preferences are totally ordered. When the preference is two-dimensional, the market idea breaks down. f() fixes that by reducing the market back to one dimension [1].
I think you can figure out a reasonable form for f() by assuming prices follow geometric random walk (basically log(price(t)) is a bell curve with standard deviation k*t for some parameter k representing how fast prices tend to move). Then the risk of a black swan after some time is the right tail of this normal distribution [2], starting at the point where the short becomes insolvent. More collateral sets the cutoff for the tail at a later point; a greater interest rate pushes (translates) the bell curve away from the cutoff.
Then the level curves for f() should be the curves with a constant probability of black swan. I.e. the network prefers offers with the lowest probability of becoming insolvent according to the model [3]. I'm pretty sure f() will have the same level curves regardless of k (the parameter that represents how fast the prices tend to move).
I think you should be able to do these computations analytically, and I'm sure you can do them numerically. In either case, you'd probably have your hard-coded f() actually be a polynomial approximation with some small error.
[1] Another way to deal with two-dimensional preferences is to quantize one of the dimensions and segment the preference space. E.g. have 1% interest offers only compete with other 1% interest offers, 2% interest offers only compete with other 2% interest offers, etc. And then the only way to do a 1.5% offer would be as some combination of a 1% offer and a 2% offer with approximately the characteristics of the desired 1.5% offer for which there is no market. I don't think this is the right approach for us to use in this case.
[2] For BitUSD priced in BTSX. For backwards people like bytemaster, who price BTSX in BitUSD, it would be the left tail.
[3] You might say "wouldn't it be desirable to set a maximum allowable probability of black swan?" The minimum collateral requirement, margin call price, and interest rate floor of 0% are basically equivalent to setting a maximum allowable probability of a black swan in the model.