About std or pbr materials, it will depends of your workflow. For example, if you’re using gltf format, you will be forced to use PBR. And I’m not sure but using Blender exporter (to get .babylon) you may be allowed to export as standard (I never tried since Blender 2.8)?
Your hack about StandardMaterial seems OK to me. You can also combine your material ambientColors with a white scene ambientColor.
About the PBRMaterial, maybe setting unlit to true helps to skip some calculations? ('seems logic)
For a gradient material, I would probably just use a texture, and unwrap my UVs on my 3D software (Blender in my case). You can even use an atlas texture to get multiple gradients into one texture only.