The discussion has gone a little off the track. It is not that complicated. It is still determined by supply and demand.
First, there are no verifiable data to show that h1b salary is lower than the other "regular" salary. That being said, it doesn't mean it is not the case. There are no data to verify it. Salary information are confidential for companies. They won't disclose it to dig a hole for themselves. Salaries for government employees are public. They follow strict rules on pay grades, though. So do big companies for following similar strict rules. You won't find significant differences between the salaries.
People have impressions that h1b salaries are lower. It is not unreasonable. The majority of h1b holders are a few years out of school at most. They are not competitive in job markets. Due to the visa issue, security is a big concern. It is mostly a bigger concern than a lower salary. So they don't negotiate much.
Second, it is also due to their relatively lack of experience, and plus lack of negotiation culture for immigrants from Asia. Good negotiation skills are essential for your compensation packages, if the companies don't have strict rules on pay grades. I don't blame the companies to offer your a salary lower than market average price. They are doing their job.
Third, job market is a big factor. For example, if you are a software engineer, and you are good compared to other candidates of the same experiences, you will get a salary of market price in Silicon Valley now, no matter if you need h1b visa or not. It is simply that there are many companies who can't afford to lose a good candidate by offering a lower salary that saves them $10,000 ~ 20,000 a year. It is not worth it. On the other hand, if it was 7 or 8 years ago, they would offer you a lower salary. If you didn't accept it, fine. They would take the chance, because they were sure they could hire engineers of the same experience and skills. The worst was to hire somebody of similar skills and experiences with a market price salary.
Last, it doesn't matter much that your first job's salary was lower than market price. If you could learn a lot in your job, take it. After one or two years in the job, they would offer you a salary of market price if you are good. Otherwise, you could leave. The companies wouldn't let you leave. It would cost them more to hire a new person of your skills.
The most important thing is to boost your skills, both hard and soft ones. If you don't like to deal with soft issues, it is perfect fine. But negotiation is indeed an important one to learn.