У Loktar есть один способ - использовать CSS, но это может привести к тому, что некоторые вещи будут выглядеть забавно. Например, пути, масштабируемые с помощью CSS и масштабируемые с помощью собственного преобразования canvas, могут выглядеть очень по-разному (CSS выглядят плохо, а canvas - гладкими). Это зависит от браузера, хотя и может быть вполне нормально. По крайней мере, на Chrome текст, масштабированный таким образом, выглядит очень плохо.
Вместо этого я бы порекомендовал посмотреть на то, что я написал здесь о понятии "модельных" координат: Работа с холстом на экранах разных размеров
Напишите все так, как если бы пространство для рисования было 600x300, но оставьте холст размером 300x150.
Перед тем как что-либо нарисовать, используйте ctx.scale(0.5, 0.5);
и все будет отлично выглядеть!
Вполне возможно, в конце концов, написать одно приложение Canvas, и оно масштабируется на все виды экранов, даже если вы просто нацеливаетесь на один размер экрана.