I’m arriving into FRA at 9 am on a Thursday and then taking a train to Munich. I’d prefer to book my train ticket in advance. How much time should I allow between the flight’s scheduled arrival and the train’s departure time to be safe?
No way anyone can know for sure how late your flight might arrive or how much time it will require between landing and the rail station. If you purchase a full-fare ticket on the fastest trains, you can travel at any hour the same day. But I suppose you're looking at a non-refundable, pre-purchased saver fare for those long-distance, high-speed train options, right? A 3-hour gap between scheduled arrival time and train departure MIGHT work. I hour for airport transit, 2 hours for potential delays. But if your flight actually arrives on schedule and it takes an hour for transit, adding a 2-hour cushion to a 3.5 - 4-hr. train ride will get you to your destination no faster than if you just took a regional-train-only sequence to Munich (which also takes 5.5 - 6 hours.) You travel after August 31, correct? The regional train ticket (Day ticket for Germany, €42/1 person, €49 for 2) is available at the airport's Regionalbahnhof station from a ticket machine. It's valid for any regional trains you wish to use that day. So you buy your Day Ticket at the station, then hop on the next available regional train in that direction. Very simple, no possibility that you have to forfeit the pre-purchased saver fare ticket.
I’m actually arriving in FRA later this week, not after August 31. Does that matter?
If you are arriving on an airline that books Rail&Fly tickets (Lufthansa does, some others), you might still be able to book one. This is an open ticket for any train (including ICEs) between FRA and any or over 5000 Bahn stations in Germany. The cost is around 30€/passenger/direction.
Other than Rail&Fly, your options are limited to gambling. As Russ says above, you can purchase a fully flexible ticket from FRA to Munich Hbf. That will cost you about 100€/P each way, and will allow you to travel on any train to Munich that day. You can also get advance purchase, Savings Fare tickets for less than full fare, fully flexible tickets, although at this late date, the saving might be minimal. These tickets are "train-specific", that is, they are only valid on that specific train, date and time. If your flight is delayed in arrival, you could lose your ticket.
You could either leave a big time buffer (but how much), or plan to spend the night in the Frankfurt area (not an unpleasant thing to do), and then go to Munich the next day, when you know you can commit to a specific train.
I did something similar in 2017, when I arrived in Frankfurt. I ultimately wanted to go to the Oberallgäu and Bodensee, but I also wanted to see he Rhein gorge at sometime on my trip. So, on the day of arrival, I used local tickets to go to St Goar, then, after two nights, I took my long trip, St Goar to Pfronten with a SparPreis ticket, when I knew I could make the designated train.
But there is still the obvious question, if you want to go to Munich, why are you flying into Frankfurt?
I’m actually arriving in FRA later this week, not after August 31. Does that matter?
Yes. The ticket price for the inexpensive "regional trains only" option becomes even cheaper for you - €9 each.
Until August 31, instead of the "Day Pass for Germany" you can purchase the €9-Ticket, a special promotional pass that is valid from date of purchase through the 31st for as many journeys as you care to make over that period of time. You can buy it at the at the FRA airport Regionalbahnhof station from a ticket machine.
https://www.bahn.com/en/offers/regional/9-euro-ticket-en
To find all the travel times available to you on this pass, you need to click on the "only local transport" box when you do your schedule search.
https://reiseauskunft.bahn.de/bin/query.exe/en
The €9 ticket for regional trains I've suggested is fully flexible - just hop on a regional train at the Regionalbahnhof rail station and make sure you stay within the regional train category as you move on to Munich. Hang onto it for use on a subsequent day in the event you'll be traveling to somewhere else before September 1.
The "advance purchase, Savings Fare ticket" for long-distance high-speed trains (IC, ICE, etc.,) even with a time buffer, pins down a travel schedule you might be unable to keep and could result in forfeiture if the delay exceeds your anticipated time cushion. And if you DO catch the ICE (or other pre-scheduled high-speed train) after your buffer period, you still are unlikely to reach Munich any earlier. It's not a pass - just a ticket - so it's valid only for the one journey to Munich.
Thanks everyone for your helpful input! I’ll be mostly doing business in Frankfurt on this trip but added a few extra days on the front end of the trip for some personal travel to Munich.