Found some interesting discussions of this question, one that pointed to the following podcast at 43:35. The most salient point, in my opinion: "[remapping controls] is a bug factory".
My suspicion would be that in reality it's not that the limitation of consoles prevent these sorts of custom settings but rather that the variability of PC ...
For flipping the player character you can use the SpriteRenderer component directly to flip the character without changing the scale.
private SpriteRenderer spriteRenderer;
spriteRenderer = GetComponent<SpriteRenderer>();
if (!spriteRenderer) Debug.LogError("Can't Find the Sprite Renderer");
Instead of setting the localScale, you can use rotation to achieve a similar effect:
transform.Rotate(Vector3.up * 180);
This will "flip" your object by rotating 180 degress around the up axis. This should help to avoid some of your scale difficulties.