Code replacements aren't that hard, but they do require setting up. But once done, they can speedup your workflow. E.g. instead of having to type the full name of a rider, you could use e.g. the rider's number like so \r123\ (I chose r as prefix here, but it could be anything, even nothing). In the code replacement file you'd have to then have the following on a single line: r123 followed by a tab character, followed by the rider's full name. You can do more complex stuff (and define multiple fields, e.g. for first name and last name separate), but this is the basic use.
Anyway, since we're talking keywording here, perhaps setting up the rider names as keywords is easier, you would just have to know their names. Entering them then just comes down to typing a couple of letters and selecting from the dropdown.
Structured keywords are really for cases where there is a structure. Like Animals|Birds|Waders|Duck (not a structure I'd use, but this explains it well, I think). I don't think this is relevant for the riders. Besides it would complicate adding names a bit, I think.
Does this help?