Yes, it would be incredibly difficult to program LR to play Contraband 'correctly.' What I suggested a year or two ago was, "Block Gold always, UNTIL a Prov has been bought. Block Prov always from that time on." Would be a million times better than the current "always always Gold."
But there should be no problem (even if one is too lazy or unwilling to change the "always always Gold" current rule. Merely add, "For any second playing of Contraband, block Prov." Or, for a 2nd playing, block Colony if available, and if not, block Prov." Or, even, "for 2nd playing of Contraband, block silver." For God's sake, ANYTHING is better than the current idiocy of picking the same card to block 2 times in the same turn!!!!!!! Of course a computer program will not be as sophisticated as a human player. But let's fix the situations where the computer plays as a brain-dead idiot with an IQ of 12.
(If I were working with Stef, I would tell him, "Hey, let's try to fix the 10 most complained-about LR moves. So, for example; let's tell LR, "You can buy Counterfeit up to, say, 3 times. But CANNOT buy that card after you reach that limit." Things like that.)