In my opinion, the best skills to focus on are not the technical ones, but rather soft skills, such as your ability to communicate effectively. This is going to be important no matter what the job is, and also makes it much easier to stand out as a candidate (as these skills help you better demonstrate your technical skills).
A developer who has public accomplishments they can point to, such as an interesting technical project, technical articles, or major open source contributions, shouldn’t struggle to find a job. These don’t even necessarily need to be about the same technology the position you’re applying for uses, so I’d just focus on what interests you most.
The easiest way to maximize your salary is to move into management. In the survey of international developers I conducted last year, I found that engineering managers tended to make about 50% than the average salary. Even accounting for the fact that they tended to be more experienced, they were still making significantly more.
If you don’t go down that route, I’d suggest branding yourself specifically for whatever position you’re applying for. Create a custom cover letter / resume for each job you’re applying to, tailoring the content to that specific company and job. Do that, and you’ll stand apart from 95% of other candidates.