One way to reduce stain blotchiness is to brush on a coat of shellac before applying the stain- it will help even out the stain uptake by the different parts of the wood. Personally, though, I'd recommend using a dye instead of stain. I've had good success staining Douglas fir with Transtint dyes- they give a much more even coloring of the wood than do stains, and are much more forgiving to apply. You can start with a dilute dye solution, see how it goes, and build up the color intensity with additional coats or increasing the concentration.
As far as a finish coat, I'd say go with a water based polyurethane. It's almost as durable as oil based polyurethane, but is much easier to apply smoothly, and dries and cures much more quickly. It also does not have the lingering odor that oil base poly has.
You could also try a wipe on ("Danish oil") finish- easy to apply, not as durable as polyurethane, but can reapply (so requires more ongoing maintenance). It does have a duller (more satiny) sheen.
No finish will prevent shrinking, warping, splitting, etc. of wood. If it occurs, you may just need to accept that as part of its rustic charm, or you can fill gaps as needed with wood filler or epoxy. The best prevention is to let the wood dry out and acclimatize as much as you can before you assemble the top. That way, you true up defects more effectively.
As far as finish sheen, satin isn't per se any more durable than any other finish- it just tends to show wear less than, say, a gloss finish. Decide what type of finish (poly, whatever) and then within that family, decide on the sheen.