If memory serves me, your Marriott card earns 1 point per dollar spent. As an alternative to the Starwood card, you could get an AmEx Hilton card that pays 3 points per dollar. In addition, you could then get a Hilton/Visa from Citibank for those mechants that do not take AmEx. The Visa card pays 2 points per dollar. This approach would allow you to focus all your credit card spending into a single program. One advantage of Hilton over Starwood is nearly 3 times as many hotel locations.
Having said all that, I would still give the edge to Starwood mostly because of no blackout. One thing to be aware of though, I think they have a 1 year expiry on the points in the absense of any account activity.