I think one of the best budget options right on the beach in Rio is the Arpoador Inn. It's at the junction of Copacabana and Ipanema and one of the very few hotels (outside of the Sheraton Leblon) that is on the beach side. We've also stayed in the Atlantis Copacabana and Atlantico Palace hotels (the former has a decent rooftop pool).
Lately, I've found Orbitz has the best hotel rates. For example, on my upcoming trip back to Colombia, Orbitz was $20 bucks a night cheaper for a hotel in Manizales than the others.