I should add to my earlier posting that when lenders perceive greater risk they respond with higher rates.
As much as we don't like that, it's their football.
The most important thing we can do is reduce that perceived risk. for example...
Too many people today don't have savings. If someone is planning to buy a home, think about applying the 10% solution. Start putting away 10% of your income as soon as you get your paycheck. This kind of discipline is simple but - often - not so easy. Stick with it!
Particularly in the case of 1st time buyers, the first step is to check their credit report for errors and collections. They say that 70% of credit reports have errors, so it's worth the trouble. Clearing up old, inaccurate credit records can add 5 to 50 points or more to your credit score. Which of course reduces risk.
1st time buyers and buyers who are trading up in a big way, face a new percieved risk. Lenders call it payment shock. Some lenders have this and some don't and it is less of an issue when the borrower has higher credit scores. It is the lender's concern that your new monthly payment is 150% or 200% or more, greater than your current housing payment.
If we can decide that you haven't suddenly decided to buy a house in the last 3 weeks and have taken time 6 months to a year in advance, to prepare for the largest financial transaction that most people ever make... One way to mitigate this risk is to figure out what your payment target will eventually be. Then, while you are working on improving your credit, save the difference between your current payment and the new payment. When applying for your loan, you can actually provide copies of your savings records to prove to the lender that you can handle the new payment, because essentially you have already been doing it.