I recently ditched all of my annual fee cards and signed up for the Amtrak Mastercard (no annual fee, 5000 rewards points convert to 5000 Continental OnePass miles) and a couple of no annual fee Amex cards. (I have a Amex Blue and a Platinum Optima - both of which have no annual fee and good benefits and programs, and with more than one Amex card, you can pool your points into the same Membership Rewards account.)
Apparently Amex cards with annual fees earn the same Membership Rewards points as the Amex cards without annual fees. The only difference is that when you have an annual fee card, the points are redeemed at a 1 mile for 1 point ratio while when you have a no annual fee card, you will get 1 mile for 2 points. However, if (you are like me and) you redeem your points very infrequently (e.g. - every few years), you can earn all your points with a no annual fee card and pay an annual fee to upgrade your reward program only when you plan on redeeming your points (when you earn enough points for the ticket you'll need). At that point, all of your points will be redeemed at a 1/1 ratio regardless if you paid an annual fee when they were earned.
That way, you can have a great card with a good rewards program and you'll only have to pay the annual fee when you have enough points for the reward that you want."
Also, as far as I can tell, the Amtrak card is the only one which offers a $1/1point/1mile exchange and no annual fee ever. All of the other mileage cards either have annual fee after the first year or they don't have teh 1/1/1 ratio. If this is correct, it would seem to me that Amtrak has the best no annual fee card - hands down (as long as Amtrak's in business)