How to customise directions path rendering in OsmAnd?
It still remains a mystery to me where the black arrows are hiding but I found a way to address the two other requirements.

First I went through a renderers primer which prepared me nicely for the task at hand. Once completed the solution turned out to be quite simple, albeit a bit hackish. I also made the fat purple route a little slimmer. For completeness, here is the entire renderer consisting mostly of my comments:

&lt;?xml version="1.0" encoding="utf-8"?&gt;

&lt;renderingStyle name="Decluttered directions path" 
    depends="default" defaultColor="#ffffff" version="1"&gt;

    &lt;renderingAttribute name="route"&gt;
        &lt;!-- for some details on 'whatever_DIGIT' named attributes see: --&gt;
        &lt;!--
            https://github.com/osmandapp/Osmand

            OsmAnd/src/net/osmand/plus/render/OsmandRenderer.java
            OsmAnd-java/src/net/osmand/render/RenderingRuleStorageProperties.java
            OsmAnd-java/src/net/osmand/render/RenderingRuleProperty.java
        --&gt;
        &lt;!-- strokeWidth="a:b" -&gt; a initial value, b extra when zooming --&gt;
        &lt;!--
            route described by:         color and width
            skinny arrows described by: color_3 and width_3
            black arrows described by:  ?
        --&gt;
        &lt;!-- first two hex digits of a colour specify opacity: 48 ~= 30 % --&gt;
        &lt;!-- disabling skinny arrows by setting opacity to 0 --&gt;
        &lt;case color="#4800cd0a" strokeWidth="10:8" 
            color_3="#00ffde5b" strokeWidth_3="7:6"/&gt;
        &lt;!-- set it up in a similar fashion for the night mode:
        &lt;case nightMode="true" color=.../&gt;
        --&gt;
    &lt;/renderingAttribute&gt;

&lt;/renderingStyle&gt;


And the before/after pictures: