Models of human migration provide powerful tools to forecast the flow of migrants, measure the impact of a policy, determine the cost of physical and political frictions and more. Here, we analyse the migration of individuals from and to cities in the US, finding that city to city migration follows scaling laws, so that the city size is a significant factor in determining whether, or not, an individual decides to migrate and the city size of both the origin and destination play key roles in the selection of the destination. We observe that individuals from small cities tend to migrate more frequently, tending to move to similar-sized cities, whereas individuals from large cities do not migrate so often, but when they do, they tend to move to other large cities. Building upon these findings we develop a scaling model which describes internal migration as a two-step decision process, demonstrating that it can partially explain migration fluxes based solely on city size. We then consider the impact of distance and construct a gravity-scaling model by combining the observed scaling patterns with the gravity law of migration. Results show that the scaling laws are a significant feature of human migration and that the inclusion of scaling can overcome the limits of the gravity and the radiation models of human migration.