If throttling must be used, here's how
Use iptables to mark/connmark the traffic based on IP/MAC etc
Add a speed limiting qdisc (e.g. tbf) to your qdisc tree.
Add a tc fw filter to assign the marked traffic to the tbf qdisc
If your XBOX is not behind NAT, you have the option of matching IP using tc u32 filter instead of iptables
The above only throttles the upload speed (which might also affect download speed a bit). Download speed is hard to control because you can only control the traffic when it's in your router, and the moment ingress/download traffic reaches your router, the bandwidth is used, therefore dropping those packets would not save any bandwidth (it'd only waste bandwidth).
You can only throttle download if you can affect the way the sender sends data, for TCP traffic one way to do this is reduce MSS, this would decrease the throughput (and also increase the overhead), another way is drop some ACK packets to simulate network congestion to allow the sender's congestion control to slow down the transmission rate. Both can be done using iptables and tc. You would not get precise throttling though.
Throttling may not be the best option as it could result in bandwidth underutilization, e.g. the throttled device/application cannot use the full bandwidth even if nothing else is using the Internet. This means it would take longer for a throttled entity to complete the task (e.g. download) which could actually end up competing for bandwidth (still within the throttling limit) later on that could've been avoided if it completed the download by using the full bandwidth earlier. That's why I peronsally prefer traffic prioritization that high priority traffic always gets ahead of lower ones, and packets are dropped only when necessary, my QOS script would even starve low priority queues to allow higher ones to use all the bandwidth.