To me all it comes down to which tradeoff is not as bad. Point + Point is sharp but the pixel sizes are inconsistent. Point + Lanczos has consistent pixel sizes but is slightly blurry. Personally, I don't like the blocky look, but since we are stuck on that, I guess I would go with Point + Lanczos. Honestly, the best way to go with Point + Lanczos IMO is:
Language: avisynth
AVISource("movie.avi")
chroma = PointResize(3408, 2928).LanczosResize(1440, 1080, taps=2).PointResize(2880, 2160)
luma = PointResize(3408, 2928).LanczosResize(2880, 2160, taps=2)
luma = luma.ConvertToYV24(matrix="Rec709", chromaresample="point").ConvertToYV12(matrix="Rec709", chromaresample="point")
chroma = chroma.ConvertToYV24(matrix="Rec709", chromaresample="point").ConvertToYV12(matrix="Rec709", chromaresample="point")
MergeChroma(luma, chroma)
Which is shown here:
http://i.imgur.com/uPJE6YE.png
But a simpler to implement way with not much difference is:
Language: avisynth
AVISource("movie.avi")
PointResize(3408, 2928).LanczosResize(2880, 2160, taps=2)
ConvertToYV24(matrix="Rec709", chromaresample="point")
ConvertToYV12(matrix="Rec709", chromaresample="lanczos") # Notice the change in chromaresample
Which is somewhat shown in here:
https://files.tasvideos.org/2095/ARC/2160p_pointx12_lanczosdownscale_2880x2160_8,158MB.png (minus the correct subsampling)
Either way is fine with me. A close second (third?) would be:
Language: avisynth
AVISource("movie.avi")
PointResize(1440, 1080)
PointResize(2880, 2160)
ConvertToYV24(matrix="Rec709", chromaresample="point")
ConvertToYV12(matrix="Rec709", chromaresample="point")
Which is shown here:
http://files.tasvideos.org/2095/ARC/point-1440x1080-point-4K.png
Though I've noticed a slight shift in image due to the nature of point resizing twice.