Texture painting looks pixelated no matter the size of image.
Your mapping could be improved, as you really should take advantage of a tileable texture for something like a path. Part of your question: 


  Iv'e unwrapped one piece onto a 2048x1024 image and tried painting various 2048x2048 concrete textures onto it but they always come out really pixelated. I try painting tiled texture but its very bad looking.


You are using a single image at 2048 x 1024 to try to pump way too many pixels into it - but you only have that one image worth of pixels to do this. If you try to paint them into that, you will get pixelation because your destination image (2048x1024) doesn't have more pixels than the sum of the number of times you are looking to repeat the brush image pixels at full resolution. Better to look at using UV Unwrap - Follow Active and then try to get the main tileable texture to sit appropriately for one face, then the rest will fall in line. You could use a second uv mapping for the second texture to determine dirt, etc.