If I keep switching the ruling party and raising militancy will I be eventually able to pass the health care reforms?
I usually get it passed when there is a large movement for unemployment subs or something.
Is there a way to encourage a Socialist Upper House?
Using the events that make pops in favor whatever issues socialists support (planned economy, pacifism and so on). Setting Party Loyalty: Socialists as a NF works too, but I've not had much success with it.
When your upper house is 50% Socialist, when it comes to elections you may find that most Socialist Aristocrats and Capitalists do not actually vote for Socialist parties at all.
You could try expanding your upper house selection/suffrage so that lower classes can select the upper house. They're more likely to promote socialist ideas. Also the tool top for social unions mentions something along the lines of social reform desire. Getting those early could set you ahead for moving your population in that direction. High militancy does seem to be the most effective method. If you're lucky, you can get 1-2 chances during the late 1840 rebellions to work on a social reform.