Data science is a more generic stream of study which encompasses data analysis, machine learning, data visualization, statistical modeling, data engineering, business intelligence etc. Therefore, from the perspective of opportunities, data science would have a greater number of job roles & positions as compared to machine learning which is a more niche segment. However, talking of salary, machine learning being a more niche segment would be a more lucrative option. At the same time, salaries depend largely on the skillsets of employees and the demand at that point in time.
An average data scientist gets a salary of INR 8.2 lakhs while the highest salary can be as high as INR 20 lakhs as well (source: Payscale.com); while a machine learning engineer earns an average salary of a machine learning engineer stands at approximately INR 10 lakhs per annum (source: Kaggle survey).