Filling missing values for important features So I have this dataset from census the census bureau database which contains 40 attributes and a target column specifying if the total income is >50k. 
P.S : this is not the known ADULT dataset (which is a lot cleaner), the difference is that mine wants to predict the total person income rather than the adjusted gross income.

My problem is that some of the attributes such as : class of worker (meaning if he's self employed, local government...),  major occupation and and industry codes have 100 000 missing values knowing that the total length of my dataset is 150 000.

Now it bugs me to simply drop those column because it seems to me like an important information to know if we want to predict the total income.

What should I do in such a position ?

Thanks !
I would first build some models without those predictors. If 2/3 of your training set is missing so you can't have your basic model based on them. If your accuracy is too low I would try to use a smaller data set and not use the missing values. Those kind of missing values are not somthing that you can easily define (like a default job) unless you have a prior on your data (e.g most people in the data are data scientists). If you do have any kind of such prior you can use missing data methods more efficiently.