I have spent a lot of time in Northern Germany for work and flying into Hamburg is the best if your destination is anywhere further north from there (Kiel, Lubeck, Rostock?). Furthermore the Hamburg airport is on the North side of the city too so that makes your dash away quite quick and painless. Plus driving up there is nice as you won't have the same congestion that is typical elsewhere. Just don't rent a compact!
I concur with what others have said. I will add that connecting to LHR and then LH to HAM is also an option although LHR connections to Germany usually do not show up on the website. I personally don't mind using LHR as a transfer point because I can fly direct from Edmonton and I get to skip customs queues and use the arrivals lounge as a status passenger. I suspect a no-status passenger may find the LHR transfer rather painful.
As far as choosing between MUC and FRA, I don't think it really matters too much if you are just connecting through. Just pick based on most convenient schedules. As Stranger said, the cost should be the same regardless of your final destination in Germany.
Depending on your final destination and the timing of the flight schedules, Hannover (HAJ) may also be a possibility. Although that would add about another hour of driving, again the traffic is fine and you could stop for some circuits at Ralf Schumacher's go kart challenge and then cut a few turns at the indoor ski hill just off the A7 a bit south of Hamburg.