One possibility is if you want to QoS traffic upstream toward the CPE's gateway is to shape the traffic outbound, and then prioritise important traffic within that shaping bandwidth.
If this is an 80/20 line and you know the average up speed is say 15Mbps, you could shape the outbound traffic to 15Mbps and prioritise voice within that 15Mbps. If sync speed drops a couple of Mbps it won't make a huge amount of difference. If sync speed rises up to 17Mbps, they will be short of a couple Mbps of upload bandwidth.
I use a config like the blow on some EFM lines. The EFM speed can vary due to line conditions, once installed though they seem to be very consistent. So in this example, this CPE is connected to 20/20 EFM line that actually reliably syncs at 10/10, the upload is shaped to 10Mbps.
class-map match-any CM-VOICE-TRAFFIC
match access-group 100
!
policy-map PM-PRIORITISE-VOICE
class CM-VOICE-TRAFFIC
set ip dscp ef
priority 1000
class class-default
fair-queue
!
policy-map PM-SHAPE-10M
class class-default
shape average 10000000
service-policy PM-PRIORITISE-VOICE
!
interface FastEthernet0/1
Description WAN Interface
bandwidth 10000
service-policy output PM-SHAPE-10M
!
access-list 100 remark Priority IP Destinations
access-list 100 permit ip 1.2.3.0 0.0.0.255 any
It's important that we shape here not rate-limit or police, so that traffic isn't dropped, it's "shaped" to the bandwidth available. Have a read of this Cisco page for some additional info.