How does the algorithm that is used in the chess world end up setting this absolute scale?
The algorithms used are described in article 8 of the FIDE Rating Regulations:
8. The working of the FIDE Rating System
The FIDE Rating system is a numerical system in which fractional scores are converted to rating differences and vice versa. Its function is to produce scientific measurement information of the best statistical quality.
The rating scale is an arbitrary one with a class interval set at 200 points. The tables that follow show the conversion of fractional score 'p' into rating difference 'dp'. For a zero or 1.0 score dp is necessarily indeterminate but is shown notionally as 800. The second table shows conversion of difference in rating 'D' into scoring probability 'PD' for the higher 'H' and the lower 'L' rated player respectively. Thus the two tables are effectively mirror-images.
The table of conversion from fractional score, p, into rating differences, dp
[large table skipped. See original link if you really want to see it]
Table of conversion of difference in rating, D, into scoring probability PD, for the higher, H, and the lower, L, rated player respectively.
8.2 Determining the Rating 'Ru' in a given event of a previously unrated player.
If an unrated player scores zero in his first event his score is disregarded. First determine the average rating of his competition 'Rc'.
(a) In a Swiss or Team tournament: this is simply the average rating of his opponents.
(b) The results of both rated and unrated players in a round-robin tournament are taken into account. For unrated players, the average rating of the competition 'Rc' is also the tournament average 'Ra' determined as follows:
(i) Determine the average rating of the rated players 'Rar'.
(ii) Determine p for each of the rated players against all their opponents.
Then determine dp for each of these players.
Then determine the average of these dp = 'dpa'.
(iii) 'n' is the number of opponents.
Ra = Rar - dpa x n/(n+1)
If he scores 50%, then Ru = Ra
If he scores more than 50%, then Ru = Ra + 20 for each half point scored over 50%
If he scores less than 50% in a Swiss or team tournament: Ru = Ra + dp
If he scores less than 50% in a round-robin: Ru = Ra + dp x n/(n+1).
The Rating Rn which is to be published for a previously unrated player is then determined as if the new player had played all his games so far in one tournament. The initial rating is calculated using the total score against all opponents. It is rounded to the nearest whole number.
If an unrated player receives a published rating before a particular tournament in which he has played is rated, then he is rated as a rated player with his current rating, but in the rating of his opponents he is counted as an unrated player.
> 8.5 Determining the rating change for a rated player
For each game played against a rated player, determine the difference in rating between the player and his opponent, D.
If the opponent is unrated, then the rating is determined at the end of the event. This applies only to round-robin tournaments. In other tournaments games against unrated opponents are not rated.
The provisional ratings of unrated players obtained from earlier tournaments are ignored.
A difference in rating of more than 400 points shall be counted for rating purposes as though it were a difference of 400 points.
(a) Use table 8.1(b) to determine the player’s score probability PD
(b) ΔR = score – PD. For each game, the score is 1, 0.5 or 0.
(c) ΣΔR x K = the Rating Change for a given tournament, or Rating period.
K is the development coefficient.
K = 40 for a player new to the rating list until he has completed events with at least 30 games.
K = 20 as long as a player's rating remains under 2400.
K = 10 once a player's published rating has reached 2400 and remains at that level subsequently, even if the rating drops below 2400.
K = 40 for all players until their 18th birthday, as long as their rating remains under 2300.
If the number of games (n) for a player on any list for a rating period multiplied by K (as defined above) exceeds 700, then K shall be the largest whole number such that K x n does not exceed 700.
The Rating Change is rounded to the nearest whole number. 0.5 is rounded up (whether the change is positive or negative).
Determining the Ratings in a round-robin tournament.
Where unrated players take part, their ratings are determined by a process of iteration. These new ratings are then used to determine the rating change for the rated players.
Then the ΔR for each of the rated players for each game is determined using Ru(new) as if an established rating.
So, in answer to:
does it always try to make sure that the mean score is 1500, by adjusting everyone's score uniformly when the mean deviates?
As you can see from article 8.5, "No".
Or does it simply always assign a particular initial score?
As you can see from articles 8.2 - 8.4 the answer is again "No".