Cita: la segunda query, la de coins (tabla playerpoints) puede devolverme null, porque no existen registros de todos los usuarios, y eso me hace que la query entera me devuelva NULL si la uno con cualquiera de las otras, y mi segundo problema es que no se como unir las otras dos querys con COUNT en una sola query con las otras.
El problema es básicamente que no puedes usar un simple JOIN y menos aún un JOIN implícito cuando tienes una relación
opcional en una de las tablas de una query compuesta. Forzosamente debes usar JOINs explícitos (INNER, LEFT o RIGHT), y en especial LEFT JOIN.
El tema de los nulos en la relación se resuelve con funciones como IFNULL(), y COUNT() devolverá cero donde haya NULLs.
No se trata de una consulta compleja de hacer, pero es probable que haya que usar tablas derivadas (queries como tablas del FROM), para lograr eso, y que no se produzcan productos cartesianos.