Home-made solutions like baking soda, vinegar, hydrogen peroxide can significantly reduce unpleasant odors on the pile. Chemical detergents also help cope with smells. Besides, they refresh the pile and soften it. Also, consider trying wet and dry vacuums like Bissell CrossWave that come with special formulas for carpets.